开发者

Get MongoDB Databases in a JavaScript Array?

开发者 https://www.devze.com 2023-01-21 21:18 出处:网络
I know that in the MongoDB termina开发者_开发技巧l, I can run show dbs to see the available databases. I want to list the databases in a programmatic way so that I can iterate over them and delete som

I know that in the MongoDB termina开发者_开发技巧l, I can run show dbs to see the available databases. I want to list the databases in a programmatic way so that I can iterate over them and delete some based upon a regular expression.

I have tried db.runCommand("show dbs") but does not return results to iterate.


Iterate over MongoDB database names:

> db.getMongo().getDBNames()
[
    "test",
    "admin",
    "local"
]
> db.getMongo().getDBNames
function () {
    return this.getDBs().databases.map(function (z) {return z.name;});
}


Based upon this answer http://groups.google.com/group/mongodb-user/browse_thread/thread/9b3568f3a3cf4271, I was able to code up a solution.

use admin
dbs = db.runCommand({listDatabases: 1})
dbNames = []
for (var i in dbs.databases) { dbNames.push(dbs.databases[i].name) }

Hopefully this will help someone else.


The below will create an array of the names of the database:

var connection = new Mongo();
var dbNames = connection.getDBNames();
0

精彩评论

暂无评论...
验证码 换一张
取 消