我知道在MongoDB终端中,我可以运行show dbs
以查看可用的数据库.我想以编程方式列出数据库,以便我可以迭代它们并根据正则表达式删除一些数据库.
我已经尝试db.runCommand("show dbs")
但不会返回结果进行迭代.
迭代MongoDB数据库名称:
> db.getMongo().getDBNames() [ "test", "admin", "local" ] > db.getMongo().getDBNames function () { return this.getDBs().databases.map(function (z) {return z.name;}); }
根据这个答案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) }
希望这会帮助别人.
下面将创建数据库名称的数组:
var connection = new Mongo(); var dbNames = connection.getDBNames();