小编sav*_*ver的帖子

Mongoose 聚合游标承诺

我正在尝试聚合一个大型数据集,因此我将游标与聚合一起使用。但是,我无法找到有关如何在不使用额外延迟的情况下实现这一点的文档。我觉得必须有一种方法可以aggregate().cursor().each()与聚合完成后解决的承诺相结合。有谁知道如何做到这一点?

此代码有效并且基于http://mongoosejs.com/docs/api.html#aggregate_Aggregate-cursor 我试图找到一种无需额外承诺的方法。

aggregation = MyModel.aggregate().group({
  _id: '$name'
});

deferred = Q.defer();

aggregation.cursor({
  batchSize: 1000
}).exec().each(function(err, doc) {
  if (err) {
    return deferred.reject(err);
  }
  if (!doc) {
    return deferred.resolve(); // done
  }
  // do stuff with doc
});
return deferred.promise;
Run Code Online (Sandbox Code Playgroud)

javascript mongoose node.js

2
推荐指数
1
解决办法
8491
查看次数

标签 统计

javascript ×1

mongoose ×1

node.js ×1