2017-08-30 115 views
2

我有一个表示为字符串的objectIds数组。查找包含objectIds数组的文档

["594c7a30f8f774268a2cdd14","594c7a30f8f774268a2cdd13"] 

在我的聚合中,我动态地用这个数组和其他字段构建一个匹配对象。

match["_id"] = { $in: classes}; 

这不工作,我认为,原因是其只是字符串,而不是像的ObjectId的ObjectID(“594c7a30f8f774268a2cdd14”)的数组。

如何构建匹配以便_id搜索与数组一起使用?

回答

2

我能够得到它通过改变比赛从

match["_id"] = { $in: classes}; 

工作

match._id = { $in: classes.map(mongoose.Types.ObjectId)}; 

地图功能正是我需要的。

相关问题