I know that in the MongoDB terminal, 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.
The MongoDB JavaScript (NodeJS) Driver makes it simple to work with MongoDB databases from Node. js applications. To connect to your database and run the queries discussed in this Quick Start series, you'll need the MongoDB JavaScript (NodeJS) driver.
If you want to check your databases list, use the command show dbs. Your created database (mydb) is not present in list. To display database, you need to insert at least one document into it. In MongoDB default database is test.
$all. The $all operator selects the documents where the value of a field is an array that contains all the specified elements.
To list all collections in Mongo shell, you can use the function getCollectionNames().
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();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With