Node.js Mongoose$不使用变量

Node.js Mongoose$不使用变量,node.js,mongodb,mongoose,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(); 然后,结果集包含我期望的两项。我不知道为什么在使用列表变量时,我无法检索正确的数据。非常感谢您的帮助 更新:

我正在尝试使用$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(); 
然后,结果集包含我期望的两项。我不知道为什么在使用列表变量时,我无法检索正确的数据。非常感谢您的帮助

更新:

我也尝试过使用$in操作符,如下所示,但仍有一项返回:

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

为什么所有的循环都是现有数组和
.toHexString()
甚至
ObjectId()
malarkey?如果输入已经是对
ObjectId
值有效的字符串数组,那么mongoose将自动为您转换它们
User.find({“\u id”:{“$in”:board.members},如果是这种情况,函数(err,results){…}
应该可以正常工作。@BlakesSeven:我已经尝试了您之前的建议,但它与上面的示例相同。我通过尝试不同的方式来实现这个查询,从而达到了上述代码状态。编辑您的问题以准确显示您“尝试”的内容如何。您的错误显然存在于实现中,您迄今为止提交的代码很可能由于输入错误而失败。如果只是照我说的做,那么效果很好(你不是第一个这么做的人,也不是第一个提出要求的人),但是如果你仍然不确定,那么就按照这条思路发布其他代码尝试,我们可以指出错误和正确的方法。@BlakesSeven我已经尝试过按照你建议的方式实现它,但它不起作用。我没有“尝试过”其他东西。如果你知道它为什么会失败,我会非常感谢你的帮助,因为我已经按照你建议的方式实现了它。
return User.find({_id: { $in: board.members}}).exec();