async.eachSeries在迭代器中使用mongodb调用时没有按预期工作

时间:2014-11-25 03:10:47

标签: node.js mongodb asynchronous series

我试图以有序的方式将数组插入到mongodb数据库中,因为我使用的是async.eachSeries,但是这些行没有按照它们在数组中的顺序插入。这是代码:

https://gist.github.com/r01010010/af8eeb39023ce1cc04f6#file-series-js-L16

  var server = new mongodb.Server('localhost', 27017, {auto_reconnect: true, safe: true});
  var db = new mongodb.Db('scjs', server);

  db.open(function(err, db) { if(err) throw err;


  async.eachSeries(

      // Collection
        mongo_provinces

      // Iterator
      , function(province, done){
          db.collection('provinces').insert(province, function(err, result) { if(err) throw err;
              console.log(result);
              done();
          });
      }

      // Callback when the iteration is finished
      , function(err){ if(err) throw err;
          process.exit();
      }
  );


  });

1 个答案:

答案 0 :(得分:1)

我不会依赖于此处的插入顺序,而是依赖于检索。如果未指定排序,则默认查询将按自然顺序返回文档。如果要按特定顺序获取结果,请应用sort参数: