根据Getting Started with MongoDB,我们可以使用show dbs
来获取现有数据库的列表。
但这是一种在mongo shell
中运行的命令。
我的问题是如何为数据库列表编写mongodb query (bson)
,以及应该将此查询发送到哪里?
答案 0 :(得分:2)
这不是查询,但您可以对admin数据库运行listDatabases
命令以获取BSON中的数据库列表:
> use admin
switched to db admin
> db.runCommand({listDatabases : 1})
{
"databases" : [
{
"name" : "local",
"sizeOnDisk" : 83886080,
"empty" : false
},
],
"totalSize" : 83886080,
"ok" : 1
}
除了给出正确语法的查询之外,MongoDB的大多数编程语言引擎还可以运行命令。例如,在Java中:
DB db = mongo.getDB("admin");
DBObject cmd = new BasicDBObject("listDatabases", 1);
CommandResult result = db.command(cmd);
有趣的是,如果您确实坚持将其作为查询,则可以通过提交查询来查询$cmd
数据库上的虚拟集合admin
以运行命令:
> use admin
switched to db admin
> db.$cmd.findOne({"listDatabases":1})