通过提供身体文件,mongoose/ mongodb更新多个文件

我需要在正文中提供几个文件。 我不能查询他们,他们必须提供。

例:

var persons = [ {id: 1, name'Joe', active: false}, {id:2, name:'Jane', active: false}) ]; 

这些数据在正文中提供,我想将活动属性设置为false。

 exports.setActivePropertyOnPersons = function(input,callback){ for(var i = 0;i<input.body.length;i++){ mongoose.model('person').findOne({id:input.body[i].id}, function(err, person){ person.active = false; person.save(); }) } callback.send(200) }; 

这段代码感觉不好。 有没有更好的查询来做到这一点? 我没有在文档中find任何内容。

尝试使用update命令以及“ $ in ”运算符:

 var ids= []; for (var i=0 i<input.body.length; ++i) { ids.push(input.body[i].id); } mongoose.model('person').update( {id : {"$in":ids}}, {active:false} , {multi: true} , function(err,docs) { ... }); 

希望这可以帮助