我是mongo的新手,现在淹没了很多文档。我想要的是使用mongoose游标与我在cursor中的数据操作进行异步操作。它应该等待下一次迭代直到操作完成。 我读到了
我们可以这样做QueryCursor#eachAsync(fn,[options],[options.parallel],[callback])
如果fn返回一个承诺,将等待承诺解决
由于我是mongo的新手,我不知道如何创建承诺并在以后解决。
var cursor = Users.find({ "is_verified" : false }).cursor();
cursor.eachAsync(function (doc) {
//create promise here
async.series({
one: function(callback){
callback(null,1);
},
two: function(callback){
callback(null,2);
},
three: function(callback){
callback(null,3);
},
four: function(callback){
//resolve promise here
if() callback(null,4)
},
},function(err,result){})
}).then(()=>console.log('FINISHED'));
答案 0 :(得分:0)
我会在这样的数组中调用你的函数: [这是半伪代码]
for(parameter in parameters) {
users.find({"parameter":parameter}, function( err, data) {
if (err) return handleError(err);
functionToFeedTemplate(data);
functionToSendMail(data);
}
}