使用$ in子句查找导致Mongodb&中的stackoverflow的NodeJS

时间:2014-12-21 19:42:45

标签: node.js mongodb

我正在尝试使用$ in获取多个条目。我在回调中得到了一个stackoverflow,即使我在db中只有3条记录。我的功能看起来像这样 -

 // users is an array
 // callback is function(err, result) 
 function(users, callback) {
      users = db.collection('users');
      users.find({ username: {$in: users }}, function(err, items) {
          // items is a cursor
          items.toArray(callback);
      });
 }

似乎无法弄清楚问题是什么

1 个答案:

答案 0 :(得分:2)

您需要为users数组参数和users集合变量指定不同的名称:

function(userids, callback) {
    var users = db.collection('users');
    users.find({ username: {$in: userids }}, function(err, items) {
        // items is a cursor
        items.toArray(callback);
    });
}

就像现在一样,您使用users集合覆盖了users参数数组。