2017-08-30 151 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)}; 

地圖功能正是我需要的。

相關問題