Я пытаюсь обернуть голову вокруг синтаксиса и структуры Mongoose Populate. У меня две схемы. Родитель имеет массив Ребенок ссылок.Mongoose Populate and Search by Array of References
const Parent = new Schema({
name: String,
children: [{type: Schema.ObjectId, ref: 'Child'}]
});
const Child = new Schema({
name: String
});
Для заполнения Родителя Я делал это:
Parent
.findById(parent.id)
.populate('children')
.exec((err, parent) => {
parent.children = arrayOfInsertedChildDocs;
parent.save();
});
Ссылки Родительской сохранить, но есть способ запроса для Родители, которые имеют ссылки на определенный Ребенок? Например, все родители, имеющие ссылку на ребенка с идентификатором ObjectId ('xxxxxxxxx') в своем массиве для детей?
Это то, что я пытался, но он не работает.
let query = { "children._id": mongoose.Types.ObjectId(childId) };
Parent.find(query, (err, parents) => {
//process parents
})
Возможно ли это?