如何统计Node MongoDB原生stream()返回的文档



当我在NodeJS MongoDB原生驱动程序中stream()文档时,我如何确定将返回的文档总数?例如,对于报告查询进度非常有用。

var stream = collection.find(query, fields, options).stream()
    .on("data", onData)
    .on("end", onEnd)
    .on("error", onError);

您可以先尝试调用collection.count。

collection.count(function(err, total) {
  var count = 0;
  var progress = 0;
  function onData() {
    progress = (++count / total) * 100;
  }
  var stream = collection.find(query, fields, options).stream()
    .on("data", onData)
    .on("end", onEnd)
    .on("error", onError);
});

相关内容

最新更新