L’opérateur de groupe dans MongoDB fait partie des opérateurs d’agrégation qui sont utilisés pour effectuer des opérations de calcul sur les données groupées, ressemblant à des fonctionnalités telles que GROUP BY en SQL.
Voici un exemple de base sur la façon d’utiliser l’opérateur $group :
Supposons que vous ayez une collection appelée “orders” dans votre base de données MongoDB avec la structure suivante :
```
{
“_id”: ObjectId(“5a934e000102030405000000”),
“cust_id”: “A123”,
“amount”: 500,
“status”: “A“
}
```
Et vous voulez regrouper les données par “cust\_id” et calculer le total du montant pour chaque client. Vous pouvez utiliser l’opérateur $group de la manière suivante :
```
db.orders.aggregate([
{
$group:
{
_id: “$cust_id”,
total: { $sum: “$amount” }
}
}
])
```
Dans cet exemple, “$cust_id” est le champ sur lequel vous voulez grouper et “$amount” est le champ que vous voulez sommer. Notez que la clé “_id” pour le document de sortie de l’opérateur $group est obligatoire.
Un autre point important à note est que l’opérateur $group doit être réalisé dans un pipeline d’agrégation, c’est pourquoi il est inséré dans la fonction db.collection.aggregate(). Ce pipeline comprend des opérations qui transforment les documents en plusieurs étapes.
En plus de $sum, vous pouvez utiliser d’autres opérateurs accumulatoires, comme $avg (moyenne), $min (minimum), $max (maximum) et $push (insére la valeur dans un tableau).