内部に保存されているデータを公開する nodejs REST サービスで MongoDB を使用しています。$ref を使用するデータを調べる方法について質問があります。
Anther コレクション内の別のオブジェクト (詳細) への参照を含むオブジェクトのサンプルを次に示します。
{
"_id" : ObjectId("5962c7b53b6a02100a000085"),
"Title" : "test",
"detail" : {
"$ref" : "ObjDetail",
"$id" : ObjectId("5270c7b11f6a02100a000001")
},
"foo" : bar
}
実際、Node.js と mongodb モジュールを使用して、次のことを行います。
db.collection("Obj").findOne({"_id" : new ObjectID("5962c7b53b6a02100a000085"},
function(err, item) {
db.collection(item.$ref).findOne({"_id" : item.$id}, function(err,subItem){
...
});
});
実際、2 つのクエリを作成し、2 つのオブジェクトを取得します。これは一種の「遅延読み込み」です (正確ではありませんが、ほぼ)。
私の質問は簡単です: 1 つのクエリでオブジェクト グラフ全体を取得することは可能ですか?
ありがとうございました