我正在尝试从结构中找到一份文件
"brandcredits": [
{
"brand_id": "5586da128a60ebcb7abeb732",
"brand_credits": 123,
"_id": "558ce2af106319b412e48b6c"
},
{
"brand_id": "5586da238a60ebcb7abeb733",
"brand_credits": 500,
"_id": "558ce2af106319b412e48b6b"
},
{
"brand_id": "558b382e7881f424154d6c27",
"brand_credits": 500,
"_id": "558ce2af106319b412e48b6a"
},
{
"brand_id": "558b38467881f424154d6c28",
"brand_credits": 500,
"_id": "558ce2af106319b412e48b69"
},
{
"brand_id": "558b38687881f424154d6c29",
"brand_credits": 245,
"_id": "558ce2af106319b412e48b68"
}
]
我的猫鼬查询是
BrandInfo.find({'_id':{$in: user[0].brandcredits.brand_id}},function(err,active){
console.log(active);
});
返回undefined
我需要使用brand_id数组查询模式。 我怎么做? 任何帮助将非常感激。 感谢
答案 0 :(得分:0)
您正在做的是在_id
中搜索user[0].brandcredits.brand_id
哪些无法正常工作,甚至有意义,因为user[0].brandcredits.brand_id
本身只是另一个ObjectID。
您需要搜索的内容为: brand_id
user[0].brandcredits
所以试试这个:
BrandInfo.find( { 'brand_id': {$in: user[0].brandcredits} } , function(err, active){
console.log(active);
});