我需要处理我的整个集合,根据某个集合字段,根据算法为每个文档更新一个字段('isActive
')。
我写过这个方法:
function updateCollectionActiveStatus(callback) {
Person.find({}).cursor()
.on('data', function(doc.insertionDate) { // handle data
doc.isActive = check(doc); // external logic, irrelevant here
doc.save(function(err) {
if (err) {
callback(err);
// HOW TO STOP EXECUTION HERE, AND AVOID PROCESSING MORE DATA?
})
})
.on('error', function(err) { // handle error
callback(err);
})
.on('end', function() { // final callback
callback();
})
;
}
我问:如何摆脱光标数据处理,我应该收到错误吗?
当然callback(err)
之后的回报应该是无效的......
注意:回答@Neil Lunn的评论,我不打算'回滚',而只是避免在出错后处理更多数据......希望这是足够'具体'...... < / p>
注意2 :如果有人知道使用mongoose在集合的每个文档上更新/更光滑/更聪明/更原子的方式来更新一个字段(取决于该文档的其他字段),请让我知道,它应该被接受为正确的答案......