我知道在MongoDB终端中,我可以运行show dbs
来查看可用的数据库。我想以编程方式列出数据库,以便我可以迭代它们并根据正则表达式删除一些数据库。
我尝试了db.runCommand("show dbs")
,但没有返回结果进行迭代。
答案 0 :(得分:17)
迭代MongoDB数据库名称:
> db.getMongo().getDBNames()
[
"test",
"admin",
"local"
]
> db.getMongo().getDBNames
function () {
return this.getDBs().databases.map(function (z) {return z.name;});
}
答案 1 :(得分:6)
基于这个答案http://groups.google.com/group/mongodb-user/browse_thread/thread/9b3568f3a3cf4271,我能够编写解决方案。
use admin
dbs = db.runCommand({listDatabases: 1})
dbNames = []
for (var i in dbs.databases) { dbNames.push(dbs.databases[i].name) }
希望这会帮助别人。
答案 2 :(得分:5)
下面将创建一个数据库名称数组:
var connection = new Mongo();
var dbNames = connection.getDBNames();