Ich verwende MongoDB mit einem Nodejs REST-Dienst, der meine gespeicherten Daten freilegt. Ich habe eine Frage darüber, wie meine Daten abgefragt werden, die $ ref verwendet.
Hier ist ein Beispiel für ein Objekt, das einen Verweis auf ein anderes Objekt (Detail) in Anthere Sammel enthält:
{
"_id" : ObjectId("5962c7b53b6a02100a000085"),
"Title" : "test",
"detail" : {
"$ref" : "ObjDetail",
"$id" : ObjectId("5270c7b11f6a02100a000001")
},
"foo" : bar
}
Tatsächlich verwenden Node.js und mongodb Modul, ich die folgenden:
db.collection("Obj").findOne({"_id" : new ObjectID("5962c7b53b6a02100a000085"},
function(err, item) {
db.collection(item.$ref).findOne({"_id" : item.$id}, function(err,subItem){
...
});
});
Tatsächlich mache ich 2 Abfragen und bekomme 2 Objekte. Es ist eine Art "faulen Laden" (nicht genau aber fast)
Meine Frage ist einfach: Ist es möglich, das gesamte Objekt Graph in einer Abfrage abzurufen?
Vielen Dank
im Server veraltet sind und so weit ich die Knoten-mongodb-native Treiber weiß nicht, einen Weg hat diese zu lösen Refs für dich. – Brett