0

NodeJS MongoDB ネイティブ ドライバーでドキュメントをstream()する場合、返されるドキュメントの総数を確認するにはどうすればよいですか? たとえば、クエリの進行状況を報告するのに役立ちます。

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

1 に答える 1

1

最初に 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);
});
于 2013-07-26T19:37:47.493 に答える