Cursor-based iteration with Mongoose
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.