Mongoose $ in不使用变量

时间:2015-11-07 23:44:50

标签: node.js mongodb mongoose

我正在尝试使用$ in运算符,我的代码如下所示:

var list = []
for(var x=0; x<board.members.length; x++) {
  list.push(new ObjectId(board.members[x].toHexString()));
}    
return User.find({_id: { $in: list}}).exec(); 

即使我的列表数组中有两个项目,结果集也只包含一个项目。但是,如果我按如下方式构造相同的查询:

return User.find({_id: { $in: [new ObjectId("5603d450951764890c6d013d"), new ObjectId("5603d450951764890c6d013f")]}}).exec(); 

然后结果集包含我期望的两个项目。我不确定为什么使用list变量,我无法检索正确的数据。非常感谢任何帮助。

更新:

我也尝试使用$ in运算符,如下所示,我仍然得到一个项目:

return User.find({_id: { $in: board.members}}).exec(); 

0 个答案:

没有答案