Pon*_*han 1 database mongodb nosql
我的 MongoDB 中有一个数据库列表。如何删除除所有数据库local,admin和config?

您可以getDBNames()在mongoshell 中使用该方法。
必须从Mongo()实例调用此方法。不幸的是,我认为该getDBNames()方法没有记录。
获取数据库名称后,您可以循环遍历它们以使用以下内容删除不需要的名称:
Mongo().getDBNames().forEach(function(x) {
// loop through all the database names
if (['admin', 'config', 'local'].indexOf(x) < 0) {
// drop database if it's not admin, config, or local
Mongo().getDB(x).dropDatabase();
}
})
Run Code Online (Sandbox Code Playgroud)
例如:
> show dbs
admin 0.000GB
config 0.000GB
local 0.001GB
test 0.000GB
test2 0.000GB
test3 0.000GB
> Mongo().getDBNames().forEach(function(x) {
... if (['admin', 'config', 'local'].indexOf(x) < 0) {
... Mongo().getDB(x).dropDatabase();
... }
... })
> show dbs
admin 0.000GB
config 0.000GB
local 0.001GB
Run Code Online (Sandbox Code Playgroud)
我使用本教程中的解决方案解决了这个问题
我在我的 mongo shell 中运行了这段代码:
var dbs = db.getMongo().getDBNames()
for(var i in dbs){
db = db.getMongo().getDB( dbs[i] );
if (db.getName() !== 'admin' && db.getName() !== 'local')
{
print( "dropping db " + db.getName() );
db.dropDatabase();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3238 次 |
| 最近记录: |