Nodejs + mongodb: Como consultar campos $ ref?
Eu estou usando o MongoDB com um serviço REST nodejs que expõe meus dados armazenados no interior. Eu tenho uma pergunta sobre como interrogar meus dados que usam $ ref.
Aqui está uma amostra de um objeto que contém uma referência a outro objeto (detalhe) na coleção antera:
{
"_id" : ObjectId("5962c7b53b6a02100a000085"),
"Title" : "test",
"detail" : {
"$ref" : "ObjDetail",
"$id" : ObjectId("5270c7b11f6a02100a000001")
},
"foo" : bar
}
Na verdade, usando o módulo Node.js e o módulo mongodb, faço o seguinte:
db.collection("Obj").findOne({"_id" : new ObjectID("5962c7b53b6a02100a000085"},
function(err, item) {
db.collection(item.$ref).findOne({"_id" : item.$id}, function(err,subItem){
...
});
});
Na verdade eu faço 2 consultas e obtenho 2 objetos. É um tipo de "carregamento lento" (não exatamente, mas quase)
Minha pergunta é simples: é possível recuperar o gráfico inteiro do objeto em uma consulta?
Obrigado