Cursor

MongoDB 🟡 Mid

Définition

Pointeur iterable vers les résultats d'une requête. Le curseur ne charge pas tous les documents en mémoire mais les récupère par batches depuis le serveur.

Analogie

Un marque-page dans un gros livre : tu lis page par page au lieu de photocopier tout le livre d'un coup.

Exemple de code

const cursor = db.users.find({});
while (await cursor.hasNext()) {
  const doc = await cursor.next();
  process(doc);
}

Cas d'usage

Iterer sur de grands résultats sans saturer la mémoire de l'application.

Anti-pattern

Garder un curseur ouvert trop longtemps sans le fermer, épuisant les ressources serveur.

Termes liés

#sgbd#interview#database#mongodb

En entretien

  1. Qu'est-ce qu'un curseur MongoDB et pourquoi ne charge-t-il pas tout en mémoire ?

    Un curseur est un pointeur itérable vers les résultats d'une requête, qui récupère les documents par batches depuis le serveur plutôt que de tout charger d'un coup, comme un marque-page dans un gros livre plutôt qu'une photocopie complète. Ça permet d'itérer sur de grands résultats sans saturer la mémoire de l'application.

  2. Quel piège faut-il éviter avec les curseurs en production ?

    Garder un curseur ouvert trop longtemps sans le fermer, ce qui épuise les ressources serveur. C'est l'anti-pattern à surveiller quand on itère sur de gros volumes.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre