可以使用db.getSiblingDB()
在数据库之间切换,使用db.getCollectionNames()
获取集合名称.请注意,必须从admin
数据库运行第一个命令才能获得数据库列表.在shell中实现您想要做的事情的简短脚本如下所示:
// Switch to admin database and get list of databases.
db = db.getSiblingDB("admin");
dbs = db.runCommand({ "listDatabases": 1 }).databases;
// Iterate through each database and get its collections.
dbs.forEach(function(database) {
db = db.getSiblingDB(database.name);
cols = db.getCollectionNames();
// Iterate through each collection.
cols.forEach(function(col) {
// Do something with each collection.
print(col);
});
});