$group
MongoDB 🟡 MidDéfinition
Stage d'aggregation qui regroupe les documents par une clé (_id) et applique des accumulateurs ($sum, $avg, $max, $min, $push, $first). Équivalent du GROUP BY en SQL.
Analogie
Trier des billes par couleur dans des bols différents, puis compter combien il y en a dans chaque bol.
Exemple de code
{ $group: {
_id: '$category',
count: { $sum: 1 },
avgPrice: { $avg: '$price' },
items: { $push: '$name' }
}}
Cas d'usage
Calculer des métriques agrégées par catégorie, utilisateur, période ou tout autre critère de regroupement.
Termes liés
En entretien
Explique-moi le stage $group.
C'est un stage d'agrégation qui regroupe les documents par une clé (_id) et applique des accumulateurs comme $sum, $avg, $max, $min ou $push, l'équivalent du GROUP BY en SQL. On l'utilise pour calculer des métriques agrégées par catégorie, utilisateur ou période.
Comment tu debuggerais un $group qui traite trop de documents ?
Je vérifierais qu'un $match filtre bien en amont, car un $match placé après un $group non filtré traite des millions de documents inutilement. Il faut toujours filtrer le plus tôt possible dans le pipeline.
Fiche mise à jour le 2026-09-27