Using cursor-based iteration can be useful when there is a need to iterate (in memory) over all of the documents from a collection and every document is a big object. Every document can be projected to return only specific fields.
const cursor = Model.find().select('/* several fields */').cursor();
for (let document = await cursor.next(); document != null; document = await cursor.next()) {
// ...
}
Boilerplate
Here is the link to the boilerplate I use for the development.
Top comments (1)
Thanks, that was helpful. I don't understand why Mongoose doesn't have a ".hasNext()" function, that could be used to iterate more nicely.