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();
精彩评论