具有异步操作的Mongoose游标

时间:2017-12-07 06:58:09

标签: node.js mongodb asynchronous mongoose mongodb-query

我是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'));

1 个答案:

答案 0 :(得分:0)

我会在这样的数组中调用你的函数: [这是半伪代码]

for(parameter in parameters) {
  users.find({"parameter":parameter}, function( err, data) {
    if (err) return handleError(err);
    functionToFeedTemplate(data);
    functionToSendMail(data);
  }
}