循环内的Mongoose查询

时间:2012-10-18 03:39:40

标签: node.js mongodb mongoose

我正在尝试使用mongoose开发一个简单的应用程序。 给定一个用户名'group.contacts'的数组,我想获得这些用户的相应ID。但是,循环不能按预期工作:循环在.find()方法完成之前继续,因此我无法获取所有人的ID。我该如何解决这个问题?

for(var v = 0; v < group.contacts.length; v++) {
    PersonModel.find({
        name: group.contacts[v]
    }, function (err, person) {
        if(!err && person) {
            console.log('Found ' + person._id + ' ' + v); 
        }

    });
}

1 个答案:

答案 0 :(得分:2)

试试这个:

PersoModel
.where('name').in(group.contacts)
.exec(function(person){
   console.log('Found ' + person._id + ' ' + person.name); 
});