Я хочу использовать другое условие совпадения в заполненной базе для значения одного поля записи. Я попытался использовать $ где в find (), но он не может найти в поле заполнить.
Я также пытался использовать функцию $ where в совпадении, но она не работает.
Я знаю, что могу фильтровать документы в exec, но есть ли хороший способ сделать это в mongoose API?
collection1.find({}).populate([{
path:"collection2"
}]).exec(function (err, docs) {
res.send({data:docs})
})
collection1:
{
option:1,
array_id:5c34e9586c9fa209e623ce38
},
{
option:2,
array_id:5c34e9586c9fa209e623ce37
},
{
option:3,
array_id:5c34e9586c9fa209e623ce36
}
collection2:
{
_id:5c34e9586c9fa209e623ce38,
array:["a", "b", "c", "d"]
}
после заполнения моей записи:
data:{
option1,
array_id:{
_id:5c34e9586c9fa209e623ce38,
array:["a", "b", "c", "d"]
}
}
если параметр равен 1, сопоставить массив в collection2 включает «a», если параметр равен 2, сопоставить массив в collection3 включает «d», параметр f равен 3, выбрать эту запись как угодно.