我们有一个集合说TestColl
有像
这样的文件{
"_id" : ObjectId("57558a793f50f61400af205c"),
"title" : "Tile 1",
"addSites" : true,
"version" : 11,
"isMajorVersion" : true
},
{
"_id" : ObjectId("654558a793f50f61400af205c"),
"title" : "Title 2,
"addSites" : false,
"version" : 11,
"isMajorVersion" : true
}
对于TestColl的每个文档,DB中都有一个separete集合
所以我们有另外两个集合,它是根据TestColl的对象Id创建的
57558a793f50f61400af205c
和654558a793f50f61400af205c
这使得总共三个集合。
寻找一种方式来访问一个集合' 57558a793f50f61400af205c'如果我的查询在单个查询中返回具有_id = 654558a793f50f61400af205c的文档。
约束:我们只需要查询而不创建任何存储过程或函数只是纯粹的mongodb查询
答案 0 :(得分:2)
您可以使用forEach循环并访问集合中的数据,如下所示:
db.kt.find().forEach(function(doc){
var colName = doc._id.str;
var data = db.getCollection(colName).find().toArray();
printjson(data);
print(","); // to have array of arrays [[],[],[]]
})