我有大约 200 个 mongodb 数据库。
每个数据库都有一个名为“Group”的集合,在该集合中有一个名为“meldingId”的字段。
是否可以进行一个 mongodb 查询来查找不同数据库中的所有值。
(我设法通过 selectDB($database_name) 选择循环数据库的数据库 bij )
在 Mongo shell 中,这可以通过使用来完成db.getSiblingDB() http://docs.mongodb.org/manual/reference/method/db.getSiblingDB/切换到admin数据库并通过运行admin命令获取200个数据库的列表的方法db.runCommand({ "listDatabases": 1 })
。迭代数据库列表并使用db.getSiblingDB() http://docs.mongodb.org/manual/reference/method/db.getSiblingDB/再次切换数据库,查询Group
收集为meldingId
价值观。像这样的事情:
// Switch to admin database and get list of databases.
db = db.getSiblingDB("admin");
dbs = db.runCommand({ "listDatabases": 1 }).databases;
// Iterate through each database.
dbs.forEach(function(database) {
db = db.getSiblingDB(database.name);
// Get the Group collection
collection = db.getCollection("Group");
// Iterate through all documents in collection.
/*
collection.find().forEach(function(doc) {
// Print the meldingId field.
print(doc.meldingId);
});
*/
var meldingIds = collection.distinct('meldingId');
print(meldingIds);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)