2016-06-13 5 views
1
我々がコレクションを持っている

で動的に作成されたコレクションからデータを取得する方法 はMongoDBの

DB

でsepareteコレクションがあるTestColl

有する文書TestCollのすべてのdocumemtため

{ 
    "_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のオブジェクトIdに基づいて作成された別の2つのコレクションを持っています。これは、 57558a793f50f61400af205c654558a793f50f61400af205c

です。

これは合計3つのコレクションを作成します。

私のクエリが_id = 654558a793f50f61400af205cを持つドキュメントを単一のクエリで返す場合、コレクション '57558a793f50f61400af205c'にアクセスする方法を探しています。

制約:私たちは、あなたがこのようにコレクションからforeachループとアクセスデータを使用することができます

答えて

2

任意のストアド・プロシージャまたは関数を作成することなく、ただ純粋なMongoDBのクエリをのみ、クエリが必要になります。

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

はあなたに男をありがとうございました。それは今働いています。あなたは私のTens of Hoursを救った。 –

+0

行を追加printjson(doc) – profesor79