homenewsletter
 
   

Cursor-based iteration with Mongoose

Published November 17, 2021Last updated May 4, 20241 min read

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.