tags:

views:

27

answers:

2

I know that in the MongoDB terminal, I can run "show dbs" to see the available databases. I want to get them programmatically so that I can iterate over them and delete some based upon a regular expression.

I have tried db.runCommand("show dbs") but that doesn't work.

Thanks in advance.

+4  A: 

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.

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