Javascript NodeJS with MongoDB-获取与数组对象之一匹配的嵌套集合

Javascript NodeJS with MongoDB-获取与数组对象之一匹配的嵌套集合,javascript,node.js,mongodb,Javascript,Node.js,Mongodb,我试图用NodeJS编写一个查询,只是语法有问题 我是Mongo的新手,我对一些复杂的(至少在我这个级别)查询有一段时间的思考 我有一个mongo ID数组(我们称之为mongoArr)。 我有一个叫做数据的集合。 在此数据集合中有一个名为innerNested的嵌套对象。 我试图检索的是所有“数据”元素,它们的“innerNested”id等于数组中的一个id 如果它是一个简单的JS,它应该是: var output = []; for (var i=0;i<data.length;i+

我试图用NodeJS编写一个查询,只是语法有问题

我是Mongo的新手,我对一些复杂的(至少在我这个级别)查询有一段时间的思考

我有一个mongo ID数组(我们称之为mongoArr)。 我有一个叫做数据的集合。 在此数据集合中有一个名为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];
  }
}
var输出=[];

对于(var i=0;i如果您使用的是Mongoose,您可以在查询中直接引用“innerNested”字段,如下所示

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

其中,“$in”子句将检查ID是否在您的ID数组中。

您的伪代码没有问题。但是您必须在分号之前插入pseudo'),这就是伪代码不起伪作用的原因。