Olá,
Estou com problemas para entender algo ou está bugado.
Vamos começar. Aqui está a documentação sobre DBRefs:
http://docs.mongodb.org/manual/reference/database-references/#dbrefs
Eles escrevem que a estrutura do documento com referência deve ser:
{
"_id" : ObjectId("5126bbf64aed4daf9e2ab771"),
// .. application fields
"creator" : {
"$ref" : "creators",
"$id" : ObjectId("5126bc054aed4daf9e2ab772"),
"$db" : "users"
}
}
Agora vamos dar uma olhada neste exemplo (exemplo1):
https://gist.github.com/hastebrot/1170907
Quando executo este código, tenho algo assim:
História:
"title": "A man who cooked Nintendo",
"_creator": {
"$oid": "52e7dcea3d9cd59c13702e3d"
},
"_id": {
"$oid": "52e7dceb3d9cd59c13702e3e"
},
"fans": [],
"__v": 0
Pessoas:
"name": "Aaron",
"age": 100,
"_id": {
"$oid": "52e7dcea3d9cd59c13702e3d"
},
"stories": [],
"__v": 0
Em nossa equipe, temos pequenos aplicativos escritos em Java que usam biblioteca para MongoDB, mas esta biblioteca salva dados como na documentação do MongoDB:
....//other fields
"user": {
"$ref": "users",
"$id": {
"$oid": "52c6c497c08e6fcf37000001"
}
}
e não consigo preencher dados porque parece que funciona apenas para implementação de mangusto.
Corrija-me se estiver errado, mas para mim é como se você não salvasse o DBRef como descrito na documentação.
+1
Enfrentando o mesmo problema com um aplicativo php usando doutrina mongodb odm. Atualmente não posso usar meu banco de dados já existente com o mongoose porque os objetos mongodb DBRefs não são usados para armazenar referências.
Talvez um outro tipo de esquema (Schema.DBRef?) deva ser adicionado?
Isso carregaria o documento com as informações fornecidas.
Ainda não há entrada de nenhum desenvolvedor do Mongoose sobre esse problema? Este é um problema recorrente que continua surgindo quando você tem mais de um driver gravando e lendo no mesmo banco de dados.
O driver Node suporta DBRefs e acho estranho que o Mongoose ainda não tenha suporte para ele.
O suporte a DBRefs para preenchimento não é realmente uma alta prioridade porque os documentos do MongoDB recomendam não usar dbref . Você sempre pode fazer as consultas sozinho.
Comentários muito úteis
Ainda não há entrada de nenhum desenvolvedor do Mongoose sobre esse problema? Este é um problema recorrente que continua surgindo quando você tem mais de um driver gravando e lendo no mesmo banco de dados.
O driver Node suporta DBRefs e acho estranho que o Mongoose ainda não tenha suporte para ele.