2016-06-13 49 views
1

我們有一個集合從一個動態創建的集合數據說TestColl如何獲得MongoDB中

有文件一樣

{ 
    "_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的每documemt存在DB

一個separete集合所以我們有另外兩個基於TestColl的對象Id創建的集合,它是 57558a793f50f61400af205c654558a793f50f61400af205c

這使得總共三個集合。

尋找訪問集合'57558a793f50f61400af205c'的方法,如果我的查詢返回單個查詢中具有_id = 654558a793f50f61400af205c的文檔。

約束:我們只需要查詢,而無需創建任何存儲過程或函數只是純粹的MongoDB查詢

回答

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 [[],[],[]] 
    }) 
+0

謝謝你的男人。它現在在工作,你保存了我的幾十個小時。 –

+0

添加行printjson(doc) – profesor79