我习惯于以array.forEach((elem, i) => ...)
的方式使用ES5array.forEach()
,这样我就可以访问索引。
通过cursor.forEach((elem, i) => ...)
在MongoDb的游标上做同样的事情是行不通的(这是有道理的,因为它不是一个数组(。在这种情况下,我没有索引。
是否有一种内置的方法来获得";索引";当使用cursor.forEach()
时?
MongoDB游标.forEach((文档在这里相当稀疏。
注意:我知道我可以做cursor.toArray().forEach()
,并用我通常的方式获得索引。我在想,如果我已经可以获得一个";索引"/不过,迭代次数直接显示在光标上
db.collection.find().forEach((doc, i) => {
if ((i == 0) || (i % 50 == 0)) {
console.log(`we are here: ${i}`). // nothing gets logged to console...
}
})
您可以通过使用一个额外的变量来携带索引来实现它
let i = 0;
db.collection.find().forEach(doc => {
if ((i == 0) || (i % 50 == 0)) {
console.log(`we are here: ${i}`)
}
i++;
})
这将是最佳的