#node.js #mongodb #mongoose #nested-queries #database
#mongoose
Вопрос:
db.animals
{'animal':'monkey',
'quantity:3
'id' : 001}
{'animal':'pig',
'quantity:5
'id' : 002}
{'animal':'cow',
'quantity:3
'id' : 003}
db.people
{'person':'john',
'have':[001, 003]} // objectId
Как я могу получить animals of John?. Я ожидаю такого результата:
[{'animal':'monkey',
'quantity:3
'id' : 001},
{'animal':'cow',
'quantity:3
'id' : 003}]
Ответ №1:
В MongoDB нет объединений, поэтому вам придется выполнить это в два этапа.
В командной оболочке:
var john = db.people.findOne({person: 'john'})
db.animals.find({id: {$in: john.have}})