Groepsoperator in MongoDB maakt gebruik van de `$group` stage binnen de `aggregate()` functie om documenten in een collectie te groeperen op basis van een voorwaarde. De `$group` operator groepeert de documenten door een of meerdere velden te specificeren als het “\_id”-veld van de uitvoerdocumenten.
Laten we bijvoorbeeld zeggen dat je een collectie “orders” hebt met de volgende documenten:
```
{ “_id” : 1, “cust_id” : “abc1”, “amount” : 500, “status” : “A” }
{ “_id” : 2, “cust_id” : “xyz1”, “amount” : 250, “status” : “A” }
{ “_id” : 3, “cust_id” : “abc1”, “amount” : 300, “status” : “D” }
{ “_id” : 4, “cust_id” : “xyz1”, “amount” : 200, “status” : “D” }
{ “_id” : 5, “cust_id” : “abc1”, “amount” : 300, “status” : “A” }
```
Stel dat je de totalen wilt groeperen op `cust_id`. Je kunt de volgende aggregate() aanroep gebruiken:
```
db.orders.aggregate(
[
{
$group : {
_id : “$cust_id”,
total : { $sum : “$amount” }
}
}
]
)
```
In dit voorbeeld is `_id` ingesteld op “$cust\_id”, dat wil zeggen, het veld in de invoerdocumenten waarop je wilt groeperen. De `$sum` operator somt de “amount” waarden op voor elk gegroepeerd document.
Merk op dat de `$group` operator in MongoDB gelijkaardig is aan de `GROUP BY` operator in SQL.