我有一个表示为字符串的objectIds数组。
["594c7a30f8f774268a2cdd14","594c7a30f8f774268a2cdd13"]
在我的聚合中,我使用此数组和其他字段动态构建匹配对象。
match["_id"] = { $in: classes};
这不起作用,我假设它只是一个字符串数组而不是像ObjectId这样的objectID(" 594c7a30f8f774268a2cdd14")。
如何构建匹配以便_id搜索与数组一起使用?
答案 0 :(得分:2)
我可以通过更改
中的匹配来使其工作match["_id"] = { $in: classes};
到
match._id = { $in: classes.map(mongoose.Types.ObjectId)};
地图功能是我需要的。