我有一个表示为字符串的 objectId 数组。
["594c7a30f8f774268a2cdd14","594c7a30f8f774268a2cdd13"]
在我的聚合中,我使用该数组以及其他字段动态构建一个匹配对象。
match["_id"] = { $in: classes};
这不起作用,我认为因为它只是一个字符串数组,而不是像 ObjectId("594c7a30f8f774268a2cdd14") 这样的 objectID。
如何构建匹配以便 _id 搜索适用于数组?
最佳答案
我能够通过更改匹配来使其工作
match["_id"] = { $in: classes};
到
match._id = { $in: classes.map(mongoose.Types.ObjectId)};
map 功能正是我所需要的。
关于node.js - 查找包含 objectIds 数组的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45962594/