我有一个用字符串表示的objectId数组。
["594c7a30f8f774268a2cdd14","594c7a30f8f774268a2cdd13"]
在我的聚合中,我使用这个数组和其他字段动态地构建一个匹配对象。
match["_id"] = { $in: classes};
这不起作用,我认为这只是一个字符串数组,而不是像ObjectId("594c7a30f8f774268a2cdd14"(这样的对象ID。
如何构建匹配以便_id搜索与数组一起工作?
我通过更改中的匹配项使其工作
match["_id"] = { $in: classes};
至
match._id = { $in: classes.map(mongoose.Types.ObjectId)};
地图功能正是我所需要的。