我们有一个包含许多不同mongo数据库的系统.我经常想要编写适用于它们的所有(或子集)的即席查询,而不必事先知道哪些数据库存在.
我可以这样做show dbs,它会在视觉上打印一个列表,但有没有办法做类似的事情:
var db_list = listDatabases();
for (i = 0; i < db_list.length; i++) {
do_something(db_list[i])
}
Run Code Online (Sandbox Code Playgroud)
我的问题show dbs是它没有捕获任何返回值,所以我不能用输出做任何有效的事情.
Joh*_*yHK 27
您可以使用'listDatabases'admin命令:
var db_list = db.adminCommand('listDatabases');
Run Code Online (Sandbox Code Playgroud)
返回一个如下所示的对象:
{
"databases" : [
{
"name" : "test",
"sizeOnDisk" : 2097152000,
"empty" : false
},
{
"name" : "local",
"sizeOnDisk" : 1,
"empty" : true
}
],
"totalSize" : 8487174144,
"ok" : 1
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8740 次 |
| 最近记录: |