Получить базы данных MongoDB в массиве JavaScript?
Я знаю, что в терминале MongoDB я могу запустить show dbs
, чтобы увидеть доступные базы данных. Я хочу перечислить базы данных программным способом, чтобы я мог перебирать их и удалять некоторые из них на основе регулярного выражения.
Я пробовал db.runCommand("show dbs")
, но не возвращал результаты итерации.
Ответы
Ответ 1
Основываясь на этом ответе 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) }
Надеюсь, это поможет кому-то другому.
Ответ 2
Итерации над именами базы данных MongoDB:
> db.getMongo().getDBNames()
[
"test",
"admin",
"local"
]
> db.getMongo().getDBNames
function () {
return this.getDBs().databases.map(function (z) {return z.name;});
}
Ответ 3
Ниже будет создан массив имен базы данных:
var connection = new Mongo();
var dbNames = connection.getDBNames();