我正在尝试在NodeJS中编写一个查询,并且只是遇到语法问题。
我是Mongo的新手,我有一些复杂的(至少我的级别)查询。
我有一组mongo ID(我们称之为mongoArr)。 我有一个名为data的集合。 在此数据集合中,有一个名为innerNested的嵌套对象。 我试图检索所有的“数据”元素,他们的“innerNested”id等于我的数组中的一个ID
如果它是一个简单的JS,那就是:
var output = [];
for (var i=0;i<data.length;i++)
{
if (mongoArr.indexOf(data[i].innerNested.$id) != -1)
{
output.push(data[i];
}
}
答案 0 :(得分:0)
如果你使用的是Mongoose,你可以引用&#34; innerNested&#34;的字段。直接在您的查询中
Person.find({
'innerNested._id': {
$in: mongoArr
}
}, function(err, docs) {
console.log(docs);
});
&#34; $ in&#34;子句将检查ID是否在您的ID数组中。