Der Aggregationsoperator in MongoDB wird verwendet, um den Daten in der Datenbank eine Struktur zu geben und sie zu analysieren. Sie können komplexe Datenverarbeitungsaufgaben darstellen, indem Sie die Pipelines verwenden, die mehrere Operatoren in einer bestimmten Reihenfolge verketten.
Hier ist ein grundlegendes Beispiel, wie Sie den Aggregationsoperator verwenden können:
Angenommen, Sie haben eine Sammlung `orders` mit den folgenden Dokumenten:
```
{ “_id” : 1, “item” : “apple”, “price” : 10, “quantity” : 2 },
{ “_id” : 2, “item” : “banana”, “price” : 20, “quantity” : 1 },
{ “_id” : 3, “item” : “apple”, “price” : 10, “quantity” : 4 },
{ “_id” : 4, “item” : “banana”, “price” : 20, “quantity” : 10 },
{ “_id” : 5, “item” : “orange”, “price” : 30, “quantity” : 1 },
```
Und Sie möchten die Gesamtmenge jedes Artikels aggregieren. Sie würden den Aggregationsoperator `$group` verwenden:
```
db.orders.aggregate(
[
{
$group : {
_id : “$item”,
totalQuantity: { $sum: “$quantity” }
}
}
]
)
```
Dies würde das folgende Ergebnis zurückgeben:
```
{ “_id” : “apple”, “totalQuantity” : 6 }
{ “_id” : “banana”, “totalQuantity” : 11 }
{ “_id” : “orange”, “totalQuantity” : 1 }
```
Andere nützliche Aggregationsoperatoren sind `$sum`, `$avg`, `$min`, `$max` usw.
Bitte beachten Sie, dass Sie in dem $group-Operator den Feltnamen, den Sie gruppieren möchten, mit einem Dollarzeichen (`$`) voranstellen müssen. Das Wort nach dem Dollarzeichen ist der Feldname in Ihrer Sammlung.