我的用户集合中有一个包含750个用户的数组。
我在mongoose中使用此代码,并且在此过程中获得了令人难以置信的cpu跳转(98% - 103%):
var stream = User.find({}).stream();
stream.on('data', function(user) {
stream.pause();
user.someObj += (conditionTrue)? do one thing : do another;
...(some other changes)
user.save(function(err, doc) {
stream.resume();
});
}).on('error', function(err) {
console.error(err);
}).on('close', function() {
deferred.resolve();
});
这是正常的吗?我不这么认为,是吗? (此操作大约需要5秒左右,但仍然是,cpu jump是一个杀手......)