Как использовать разные совпадения в заполненной базе по найденному значению? - PullRequest
0 голосов
/ 20 января 2019

Я хочу использовать другое условие совпадения в заполненной базе для значения одного поля записи. Я попытался использовать $ где в 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, выбрать эту запись как угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...