我希望想通过bluebird promises在节点js上的mongodb中执行循环串行数据库插入,但是无法这样做

时间:2016-02-21 06:16:13

标签: node.js mongodb bluebird

使用for循环我希望通过mongoose promises插入数据并逐个处理输出

for (i = 0; i < array.length; i++) {
    if (xyz) {
        return Service.registerInterestsAsync(registerTruckArray)
            .then(function(x) {
                passoutputinArray(x)
            });
    }
}

1 个答案:

答案 0 :(得分:0)

我还没有使用蓝鸟,但你可以通过编写自己的递归函数来实现这一点。

var handleResponse = function(err, data) {
    //perform action
}

function inserIntoMongo(dataArray, counter) {
  if( counter < dataArray.length) {
      mongoose.InsertDocument(dataArray[counter], function(err, data) {
          handleResponse(err, data);
          counter = counter + 1;
          insertIntoMongo(dataArray, counter);
      }
  }
}