NodeJS&MongoDB – 基于ID数组获取对象

我遇到麻烦返回基于ObjectIds数组获取对象。

我收集了10个项目。 例如,在iOS应用程序中,我传递了一个用户已经保存为collections夹的ObjectIds数组,以返回collections夹选项卡中的这两个对象,

["59f85eae4545XXX9b94d53d3", "59f85eae45454XXXb94d76a1"] 

现在,我刚刚使用NodeJS对请求顶部的ObjectId进行了硬编码,直到我请求工作,下面是请求 –

 exports.list_favs = function(req, res) { Articles.find({ _id: { $in: [ mongoose.Types.ObjectId('59f85aXXXXf1769b94d53ce'), mongoose.Types.ObjectId('59f85eaeXXXX1769b94d53d3') ]} }, function(err, articles) { if (err) res.send(err); res.json({ data: { articles } }); }); }; 

而我甚至试过这个 –

 exports.list_favs = function(req, res) { var ids = new Array( new ObjectId("59f85eaeXXXX1769b94d53d3"), new ObjectId("59f85aXXXXf1769b94d53ce") ); Articles.find({ _id: { $in: ids} }, function(err, articles) { if (err) res.send(err); res.json({ data: { articles } }); }); }; 

这两个给我一个错误“CastError”

 "Cast to ObjectId failed for value \"favourites\" at path \"_id\" for model \"Articles\"" 

这是它在数据库中的样子,所以我完全不知所措。 数据库中ObjectId的图像

在这里输入图像描述

我已经跟着StackOverflow多个其他答案,没有运气。

要完整的项目代码