我有一个 id 的字符串数组,我想将其与 find 函数一起使用。
db.companies.find( { _id : { $in : arr} });
arr
看起来像这样,
[ '563a2c60b511b7ff2c61e938', '563a2c60b511b7ff2c61e8b7' ];
我从documentation看到ObjectID()
不接受数组。如何使用此数组搜索文档列表?我是否必须重新创建数组以便所有元素都是 ObjectID?
最佳答案
一种选择是使用 map
函数从字符串 ID 列表中获取 ObjectId
的列表:
arr.map(function (id) {
return ObjectId(id);
})
插入您的查询:
db.companies.find({_id: { $in: arr.map(function (id) {return ObjectId(id);})}})
关于javascript - 在 MongoDB 中查找包含字符串 ID 数组的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34300563/