Arrays 如何在MongoDB中批量迭代?

Arrays 如何在MongoDB中批量迭代?,arrays,mongodb,collections,Arrays,Mongodb,Collections,我有一个函数,可以处理开始日期和结束日期之间的数字。问题是,如果我喜欢一个大的数字集合(比如说,超过100万个数字),那么我希望对mongodb集合进行批处理以提高读取效率。这段代码使批处理的大小为100,但是如何迭代这些批处理呢?我怎么知道有多少批次?例如,如果每第五批,我想做一些不同的事情,我将如何实现这一点?谢谢 function someFunc(start, end) { let batches = db.collection('my collection').find({

我有一个函数,可以处理开始日期和结束日期之间的数字。问题是,如果我喜欢一个大的数字集合(比如说,超过100万个数字),那么我希望对mongodb集合进行批处理以提高读取效率。这段代码使批处理的大小为100,但是如何迭代这些批处理呢?我怎么知道有多少批次?例如,如果每第五批,我想做一些不同的事情,我将如何实现这一点?谢谢

function someFunc(start, end) {
  let batches = db.collection('my collection').find({
    $and: [
      { number: { $gte: start } },
      { number: { $lte: end } }
    ]
  })
  .batchSize(100)
  .toArrayAsync()
  .then(messages => {//do stuff});

  return batches;
}
MongoDB提供了一个切片索引,但您需要编写一个连续创建批的函数

有一个方法,但是您仍然需要迭代每个项。此功能有助于提高性能,并可以减少到服务器的往返次数