我想使用带有对象ID数组的Mongoose查询MongoDB。我不确定如何执行此操作,还不确定每个文档的根目录下的'name'属性。我已经上网了,似乎无法正常工作。以下是我尝试过的两件可能很接近但无法使用的事情。
{ _id: {
$in : ['5d193a4826540f7a89757f1d']
}
}
{ "name" : {
id: {
$in : ['5d193a4826540f7a89757f1d', '5d8c104d0f867b753d1f506c']
}
}}
答案 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});