使用数组冗长地查询ID

时间:2019-09-26 16:39:49

标签: node.js mongodb mongoose

我想使用带有对象ID数组的Mongoose查询MongoDB。我不确定如何执行此操作,还不确定每个文档的根目录下的'name'属性。我已经上网了,似乎无法正常工作。以下是我尝试过的两件可能很接近但无法使用的事情。

{ _id: { 
    $in : ['5d193a4826540f7a89757f1d']
  }
}
{ "name" : { 
    id: { 
        $in : ['5d193a4826540f7a89757f1d', '5d8c104d0f867b753d1f506c']
    } 
}}

1 个答案:

答案 0 :(得分:2)

首先从您的字符串中创建ObjectId:

const ids = ['5d193a4826540f7a89757f1d', '5d8c104d0f867b753d1f506c'];
const queryIds = ids.map(item => ObjectId(item));

然后找到集合中所需的文档,并将name: 1设置为仅获取name(默认情况下为_id):

collection.find({"_id": {$in : queryIds}}, {name: 1});