aggregation mongodb
Ein Überblick über die Aggregation in MongoDB:
Authentifizierung in MongoDB wurde in unserem vorherigen Tutorial in diesem ausführlich erklärt Detaillierte MongoDB-Trainingsreihe .
In diesem Tutorial lernen wir die Aggregation in MongoDB kennen.
Mit einfachen Worten bedeutet Aggregation, verschiedene Informationsressourcen zu kombinieren und die authentischste Aufzeichnung bereitzustellen. In MongoDB ist es der Prozess, Informationen aus einer anderen Sammlung zu validieren und im Gegenzug einen einzelnen Datensatz bereitzustellen.
An den gesammelten Daten werden verschiedene Operationen ausgeführt, um nur die gültigen Informationen zu extrahieren.
In MongoDB stehen drei Arten der Aggregation zur Verfügung:
- Aggregationspipeline
- Karte verkleinern
- Single Purpose Aggregation
Was du lernen wirst:
Aggregationspipeline
Das Aggregation Framework in MongoDB basiert auf dem Konzept von Datenverarbeitungs-Pipelines. In dieser Pipeline werden verschiedene Funktionen auf ein Dokument angewendet, das in die Pipeline eingegeben wird, um das Endergebnis zu aggregieren.
Grundsätzlich werden zwei Vorgänge für jedes Dokument in der Pipeline ausgeführt. Erstens werden die Datensätze genauso gefiltert, wie Abfragen ausgeführt werden, und in der zweiten Phase ändert die Transformation des Dokuments zufällig seinen Typ für Ausgabezwecke.
Andererseits werden Pipeline-Operationen auch zum Sortieren, Gruppieren, Zusammenführen und Aggregieren von Arrays und Arrays des Dokuments verwendet. Irgendwie können Pipelines auch verwendet werden, um den Inhalt zusammenzufassen oder den Durchschnitt und die Verkettung von Datensätzen zu berechnen.
Code
Unterschied zwischen implizitem und explizitem Warten in Selen
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Abbildung 1: In Mongo Shell
Abbildung 2: In Robo 3T
Figur 3
Karte verkleinern
MongoDB bietet auch die Map Reduce-Funktion für Aggregationszwecke. Im Allgemeinen gibt es zwei Phasen der Kartenreduzierung. In der ersten Phase wird jedes Dokument verarbeitet und gibt einen gemeinsamen und redundanten Teil des Dokuments aus, um einen eindeutigen Datensatz für die nächste Phase zu übergeben.
In der zweiten Phase werden alle Einzelteile zusammengeführt und zu einem einzigen Ergebnis zusammengefasst. Map Reduce bietet auch Sortieren, Filtern und Ändern von Dokumenten.
Code
db.orders.mapReduce(function(){emit(this.cust_id,this.amount);}, function(key,values){return Array.sum(values)},{query:{status:'A'},out: 'order_totals'}).find()
Abbildung 4: In Mongo Shell
Abbildung 5: In Robo 3T
Abbildung 6
Single Purpose Aggregation
Bei der Einzelzweckaggregation wird nur ein Filter angewendet, um das Ergebnis zu berechnen. Mit einfachen Worten, wenn wir eine ganze Sammlung basierend auf einem Filter aggregieren müssen, müssen wir Aggregationsoperationen für einen Zweck verwenden.
In MongoDB gibt es drei Arten von Aggregationsvorgängen für eine einzelne Filtration:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Alle oben genannten Operationen werden für die Einzelzweckaggregation verwendet. Diese Vorgänge bieten eine einfache Zugriffssteuerung für die allgemeinen Aggregationsprozesse. Diese Vorgänge bieten keine umfassende Filterung und Sortierung wie die Aggregationspipeline und Map Reduce.
Code
db.orders.distinct('cust_id')
Abbildung 7: In Mongo Shell
Abbildung 8: In Robo 3T
Abbildung 9
Fügen Sie einem Array ein Element hinzu
Fazit
Bei der Aggregation werden Informationen gesammelt, um das durchschnittliche Ergebnis zu erzielen. Es wird auch zu analytischen Zwecken verwendet. In diesem Tutorial haben wir die drei Arten der Aggregation kennengelernt, die in MongoDB zur Verarbeitung von Informationen verfügbar sind.
MongoDB bietet uns auch die Methode zur Kartenreduzierung, mit der große Informationen zusammengefasst werden. Map Reduce wird hauptsächlich für Big Data verwendet. Alle diese Aggregationsmethoden werden basierend auf dem Zustand der Datensätze und den resultierenden Werten verwendet.
In unserem nächsten Tutorial erfahren Sie mehr über die Projektion in MongoDB.
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Benutzerauthentifizierung in MongoDB
- MongoDB-Projektion mit Beispiel
- 20+ MongoDB Tutorial für Anfänger: Kostenloser MongoDB Kurs
- MongoDB Datenbanksicherung erstellen
- Was ist MongoDB-Replikation?
- MongoDB Tutorial zum Erstellen einer Datenbank
- MongoDB Sharding Tutorial mit Beispiel
- MongoDB Regular Expression $ regex mit Beispiel