使用数组查询ID的复杂方式
我想使用带有对象ID数组的Mongoose查询MongoDB。我不确定如何执行此操作,还不确定每个文档的根目录下的'name'属性。我已经上网了,似乎无法正常工作。以下是我尝试过的两件事,它们可能很接近但无法正常工作。
{ _id: {
$in : ['5d193a4826540f7a89757f1d']
}
}
{ "name" : {
id: {
$in : ['5d193a4826540f7a89757f1d', '5d8c104d0f867b753d1f506c']
}
}}
回答如下:首先从您的字符串中创建ObjectId:
const ids = ['5d193a4826540f7a89757f1d', '5d8c104d0f867b753d1f506c'];
const queryIds = ids.map(item => ObjectId(item));
然后找到集合中所需的文档,并将name: 1
设置为仅获取name
(默认情况下为_id
:]
collection.find({"_id": {$in : queryIds}}, {name: 1});