asynchronousmongodb调用for循环

我想更新多个文件,所以我必须使用循环,但下面的代码被破坏,因为它有多个res.json。

for (i = 0; i < dateArray.length; i ++ ) { Trucks.update({ 'data.date': dateArray[i] }, {'$set': update}, {'multi':true}, function(err,response){ res.json(response); }) } 

我可以把res.end(),但我想知道什么时候完成操作。

我如何使用asynchronous模块来改善它? 我想知道手术何时完成。

我不知道这是不错的解决scheme。 这只是一个黑客。

我认为这符合你的需要。 祝你好运。

 var docsUpdated = 0; var length = dateArray.length; for (i = 0; i < length; i++) { Trucks.update({ 'data.date': dateArray[i] }, { '$set': update }, { 'multi': true }, function(err, response) { if(err) res.end(); docsUpdated += response; if( i === length-1){ res.json(docsUpdated); } }) }