Utilisation des opérateurs d’agrégation (match, group, project, sort, limit, unwind)
MongoDB fournit un ensemble d'opérateurs pour manipuler les documents à chaque étape du pipeline. Voici quelques opérateurs courants.
$match : Filtrage des documents
L'opérateur $match est utilisé pour filtrer les documents en fonction de critères donnés, similaire à une clause WHERE
dans SQL.
Ici, nous récupérons les ventes où le produit est "Ordinateur" et où la quantité vendue est supérieure à 10.
$group : Regroupement et calculs agrégés
L'opérateur $group est utilisé pour regrouper les documents en fonction d'un champ spécifique et pour calculer des valeurs agrégées comme la somme, la moyenne, le minimum ou le maximum.
Ce pipeline regroupe les ventes par produit, calcule la somme totale des montants pour chaque produit et la moyenne des montants.
$project : Transformation des documents
L'opérateur $project permet de spécifier quels champs doivent être inclus ou exclus dans la sortie, et de créer de nouveaux champs calculés.
Ici, on crée un nouveau champ nom_complet
en combinant les champs prenom
et nom
, tout en affichant uniquement les champs age
et ville
.
$sort : Tri des résultats
L'opérateur $sort est utilisé pour trier les résultats selon un ou plusieurs champs, de manière croissante ou décroissante.
Cela trie les ventes par montant, du plus élevé au plus bas.
$limit et $skip : Limitation et décalage des résultats
$limit : Limite le nombre de documents retournés par l'agrégation.
$skip : Ignore un nombre défini de documents avant de commencer à retourner les résultats.
Cela retourne les 5 ventes les plus élevées.
$unwind : Décomposition des tableaux
L'opérateur $unwind permet de "décompresser" un tableau, créant un document distinct pour chaque élément du tableau. C'est utile pour travailler avec des documents qui contiennent des champs de type tableau.
Cela regroupe les clients en fonction de leurs hobbies et compte combien de clients partagent chaque hobby.
Last updated