Sommaire

Les étapes cursor-like

Ces quatre étapes du pipeline d’agrégation portent le nom de méthodes que l’on retrouve lorsque l’on travaille sur des curseurs, voilà pourquoi on y fait référence en anglais sous le terme de cursor-like (littéralement « à la manière des curseurs »).

1. Limitation des résultats avec $limit

Voici une requête limitant les résultats retournés dans un curseur à trois documents. Nous ne précisons pas de critère de recherche et nous ne retenons que les champs nom et prenom :

db.personnes.find({}, {"_id": 0, "nom": 1, "prenom": 1}).limit(3)

Nous obtenons les documents suivants :

{ "nom" : "Durand", "prenom" : "René" } 
{ "nom" : "Durand", "prenom" : "Gisèle" } 
{ "nom" : "Dupont", "prenom" : "Gaston" }

N’ayant pas été explicitement triés, ils apparaissent dans l’ordre naturel, c’est-à-dire celui dans lequel ils ont été insérés dans la collection.

Voilà la même requête une fois traduite sous une forme exploitable par le framework d’agrégation :

var pipeline = [{ 
   $project: { 
       "_id": 0, 
       "nom": 1, 
  ...