Études de cas et exemples pratiques
Exemple 1 : Calcul de la somme et de la moyenne des ventes par produit
db.ventes.aggregate([
{ $group: { _id: "$produit", total_ventes: { $sum: "$montant" }, moyenne_ventes: { $avg: "$montant" } } },
{ $sort: { total_ventes: -1 } }
])
Ce pipeline regroupe les ventes par produit, calcule la somme totale et la moyenne des montants, puis trie les résultats par ventes totales.
Exemple 2 : Liste des clients par groupe d'âge
db.clients.aggregate([
{ $group: { _id: { age: "$age" }, clients: { $push: "$nom" }, total_clients: { $sum: 1 } } },
{ $sort: { "_id.age": 1 } }
])
Ce pipeline regroupe les clients par âge, retourne une liste des noms et compte le nombre de clients dans chaque groupe d'âge.
Exemple 3 : Extraction des articles les plus vendus
db.articles.aggregate([
{ $match: { "date_vente": { $gte: ISODate("2023-01-01") } } },
{ $group: { _id: "$produit", total_vendus: { $sum: "$quantité" } } },
{ $sort: { total_vendus: -1 } },
{ $limit: 10 }
])
Ce pipeline extrait les 10 articles les plus vendus depuis le 1er janvier 2023.
PreviousUtilisation des opérateurs d’agrégation (match, group, project, sort, limit, unwind)Next8. Transactions dans MongoDB
Last updated