diff --git a/plugins/mongodb/index.py b/plugins/mongodb/index.py index 67f619d83..cfb06584e 100755 --- a/plugins/mongodb/index.py +++ b/plugins/mongodb/index.py @@ -662,6 +662,27 @@ def delDb(): except Exception as ex: return mw.returnJson(False, '删除失败!' + str(ex)) + +def delDbTable(): + client = mongdbClient() + db = client.admin + sqlite_db = pSqliteDb('databases') + + args = getArgs() + data = checkArgs(args, ['table_name', 'name']) + if not data[0]: + return data[1] + + name = args['name'] + table_name = args['table_name'] + + try: + cur_db = client[name] + cur_db[table_name].drop() + return mw.returnJson(True, '删除成功!') + except Exception as ex: + return mw.returnJson(False, '删除失败!' + str(ex)) + def setRootPwd(version=''): args = getArgs() data = checkArgs(args, ['password']) @@ -1580,6 +1601,8 @@ if __name__ == "__main__": print(addDb()) elif func == 'del_db': print(delDb()) + elif func == 'del_db_table': + print(delDbTable()) elif func == 'set_root_pwd': print(setRootPwd()) elif func == 'set_user_pwd': diff --git a/plugins/mongodb/js/mongodb.js b/plugins/mongodb/js/mongodb.js index 2b25ae575..8617d6d7a 100644 --- a/plugins/mongodb/js/mongodb.js +++ b/plugins/mongodb/js/mongodb.js @@ -767,6 +767,18 @@ function delDb(id, name){ }); } +function delDbTable( name, table_name){ + safeMessage('删除['+name+']','您真的要删除['+table_name+']吗?',function(){ + var data='name='+name+'&table_name='+table_name; + mgPost('del_db_table', '', data, function(data){ + var rdata = $.parseJSON(data.data); + showMsg(rdata.msg,function(){ + repTools(name); + },{icon: rdata.status ? 1 : 2}, 600); + }); + }); +} + function delDbBatch(){ var arr = []; $('input[type="checkbox"].check:checked').each(function () { @@ -835,23 +847,10 @@ function setDbPass(id, username, password){ } function repTools(db_name, res){ + mgPost('get_db_info', '', {name:db_name}, function(data){ var rdata = $.parseJSON(data.data); var rdata = rdata.data; - // console.log(rdata.collection_list); - var tbody = ''; - for (var i = 0; i < rdata.collection_list.length; i++) { - tbody += '\ - ' + rdata.collection_list[i].collection_name + '\ - ' + rdata.collection_list[i].count + '\ - ' + toSize(rdata.collection_list[i].size) + '\ - ' + toSize(rdata.collection_list[i].avg_obj_size) + '\ - ' + toSize(rdata.collection_list[i].storage_size) + '\ - ' + rdata.collection_list[i].nindexes + '\ - ' + toSize(rdata.collection_list[i].total_index_size) + '\ - '+"删除"+'\ - ' - } layer.open({ type: 1, @@ -859,7 +858,7 @@ function repTools(db_name, res){ area: ['780px', '480px'], closeBtn: 1, shadeClose: false, - content: '
\ + content: '
\
\ 数据库名称:'+ db_name + '\ 集合:'+ rdata.collections + '\ @@ -883,11 +882,48 @@ function repTools(db_name, res){ 操作\ \ \ - ' + tbody + '\ + \ \
\
\ -
' + ', + success:function(layer_id, layer_index){ + + var tbody = ''; + for (var i = 0; i < rdata.collection_list.length; i++) { + tbody += '\ + ' + rdata.collection_list[i].collection_name + '\ + ' + rdata.collection_list[i].count + '\ + ' + toSize(rdata.collection_list[i].size) + '\ + ' + toSize(rdata.collection_list[i].avg_obj_size) + '\ + ' + toSize(rdata.collection_list[i].storage_size) + '\ + ' + rdata.collection_list[i].nindexes + '\ + ' + toSize(rdata.collection_list[i].total_index_size) + '\ + ' + '删除'+'\ + '; + } + + $('#mongodb_list tbody').html(tbody); + + $('#mongodb_list .delete').click(function(){ + var index = $(this).data('index'); + + var name = db_name; + var table_name = rdata.collection_list[index].collection_name; + + safeMessage('删除['+name+']','您真的要删除['+table_name+']吗?',function(){ + var data='name='+name+'&table_name='+table_name; + mgPost('del_db_table', '', data, function(data){ + var rdata = $.parseJSON(data.data); + showMsg(rdata.msg,function(){ + layer.close(layer_index); + repTools(name); + },{icon: rdata.status ? 1 : 2}, 600); + }); + }); + + }); + } }); tableFixed('database_fix'); });