带有MongoDB的NodeJS - 获取与一个数组对象

时间:2017-06-19 13:23:41

标签: javascript node.js mongodb

我正在尝试在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];
  }
}

1 个答案:

答案 0 :(得分:0)

如果你使用的是Mongoose,你可以引用&#34; innerNested&#34;的字段。直接在您的查询中

Person.find({
    'innerNested._id': {
         $in: mongoArr
    }
}, function(err, docs) {
    console.log(docs);
});

&#34; $ in&#34;子句将检查ID是否在您的ID数组中。