Arrays 如何在MongoDB中批量迭代?
我有一个函数,可以处理开始日期和结束日期之间的数字。问题是,如果我喜欢一个大的数字集合(比如说,超过100万个数字),那么我希望对mongodb集合进行批处理以提高读取效率。这段代码使批处理的大小为100,但是如何迭代这些批处理呢?我怎么知道有多少批次?例如,如果每第五批,我想做一些不同的事情,我将如何实现这一点?谢谢Arrays 如何在MongoDB中批量迭代?,arrays,mongodb,collections,Arrays,Mongodb,Collections,我有一个函数,可以处理开始日期和结束日期之间的数字。问题是,如果我喜欢一个大的数字集合(比如说,超过100万个数字),那么我希望对mongodb集合进行批处理以提高读取效率。这段代码使批处理的大小为100,但是如何迭代这些批处理呢?我怎么知道有多少批次?例如,如果每第五批,我想做一些不同的事情,我将如何实现这一点?谢谢 function someFunc(start, end) { let batches = db.collection('my collection').find({
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提供了一个切片索引,但您需要编写一个连续创建批的函数
有一个方法,但是您仍然需要迭代每个项。此功能有助于提高性能,并可以减少到服务器的往返次数