2016-06-13 18 views
1

wir eine Sammlung haben sagen TestCollWie Daten aus einer dynamisch erstellten Sammlung bekommen in mongoDB

mit Dokument wie

{ 
    "_id" : ObjectId("57558a793f50f61400af205c"), 
    "title" : "Tile 1", 
    "addSites" : true, 
    "version" : 11, 
    "isMajorVersion" : true 
}, 
    { 
    "_id" : ObjectId("654558a793f50f61400af205c"), 
    "title" : "Title 2, 
    "addSites" : false, 
    "version" : 11, 
    "isMajorVersion" : true 
} 

für jeden documemt von TestColl eine separete Sammlung

in DB Also haben wir zwei weitere Sammlungen, die auf der Grundlage der Objekt-ID von TestColl erstellt werden, nämlich 57558a793f50f61400af205c und 654558a793f50f61400af205c

das macht insgesamt drei Sammlungen.

Suche nach einer Möglichkeit zum Zugriff auf eine Sammlung '57558a793f50f61400af205c', wenn meine Abfrage Dokument mit _id = 654558a793f50f61400af205c in einer einzigen Abfrage zurückgibt.

Constraint: brauchen wir nur Abfrage, ohne eine gespeicherte Prozedur oder Funktion nur reine mongodb Abfrage

Antwort

2

zu erstellen, können Sie foreach-Schleife und Zugriff auf Daten aus der Sammlung wie folgt verwenden:

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

Danke Man. Es funktioniert jetzt. Du hast meine zehn Stunden gespeichert. –

+0

Zeile hinzufügen printjson (doc) – profesor79

Verwandte Themen