Получить базы данных MongoDB в массиве JavaScript? - PullRequest
10 голосов
/ 26 октября 2010

Я знаю, что в терминале MongoDB я могу запустить show dbs, чтобы увидеть доступные базы данных. Я хочу составить список баз данных программным способом, чтобы я мог перебирать их и удалять некоторые на основе регулярного выражения.

Я пытался db.runCommand("show dbs"), но не возвращает результаты для повторения.

Ответы [ 3 ]

17 голосов
/ 28 октября 2010

Перебор имен базы данных MongoDB:

> db.getMongo().getDBNames()
[
    "test",
    "admin",
    "local"
]
> db.getMongo().getDBNames
function () {
    return this.getDBs().databases.map(function (z) {return z.name;});
}
6 голосов
/ 26 октября 2010

На основании этого ответа 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) }

Надеюсь, это поможет кому-то еще.

5 голосов
/ 16 октября 2012

Ниже будет создан массив имен базы данных:

var connection = new Mongo();
var dbNames = connection.getDBNames();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...