MongoDB -Gruppe nach mehreren Feldern

MongoDB -Gruppe nach mehreren Feldern

Die MongoDB -Datenbank spielt eine wichtige Rolle beim Speichern und Manipulieren von Daten. Um Daten zu organisieren, erstellen wir Gruppen, um die gleichen Daten an einem Ort zu sammeln. Die Gruppierung kann auf unterschiedlichen Attributen erfolgen, sei es aus der Zählvariablen oder einer anderen Funktion. In diesem Tutorial werden die Gruppenerstellung gemäß verschiedenen Dokumentenfeldern erläutert.

Für die Implementierung des Phänomens von Gruppen gemäß mehreren Feldern müssen wir einige Daten in der Datenbank haben. Wir werden zuerst eine Datenbank erstellen. Dies geschieht durch die Erklärung des Namens der Datenbank mit dem Schlüsselwort „Verwendung.Für diese Implementierung verwenden wir eine Datenbank „Demo.”

>> Verwenden Sie Demo

Sobald Sie mit der Datenbankerstellung fertig sind, werden Daten in die Datenbank eingefügt. Und für die Dateneingabe, mit der wir „Sammlungen“ erstellt haben, sind dies die Container, die eine wichtige Rolle bei der Speicherung von unbegrenzten Daten spielen. Zu einer Zeit können wir viele Sammlungen in einer einzelnen Datenbank erstellen. Hier erstellen wir eine Datenbank mit dem Namen „Info.”

>> db.CreateCollection ('Info')

Die Reaktion von MongoDB wird "OK" sein; Es ist die Bestätigung der Schaffung der Sammlung. Die Daten in der Sammlung werden Zeile von Zeile eingegeben. Wir werden also Daten in die Sammlung einfügen. Da diese Daten in Beispielen weiter verwendet werden, um Gruppen gemäß verschiedenen Feldern zu erstellen, haben wir viele Zeilen eingegeben. Jedes Mal, wenn eine andere ID für jede Zeile zugeordnet ist.

>> db.die Info.InsertOne ("Name": "Savid",
"Alter": 28,
"Geschlecht männlich",
"Land": "Vereinigte Staaten von Amerika")

Ebenso werden alle Daten eingefügt. Sie können alle eingefügten Daten mithilfe des Befehls find () sehen

>> db.die Info.finden().hübsch()

Beispiel 1: Gruppe nach mehreren Feldern/Attributen gruppieren

Wenn wir einen großen Datensatz in der Datenbank haben, aber wir möchten einige davon überzeugen, werden für diesen Zweck $ Gruppen gefunden. In diesem Beispiel werden wir eine Gruppe erstellen, um einige bestimmte Attribute aus der Sammlung zu sehen. Der Gruppenfaktor basiert auf dem Gesamtbetrieb. Es wird ein Gesamtbetrieb verwendet, um die Daten gemäß den gemeinsamen Feldern zusammenzufassen. Das Dollar "$" -Schild bezeichnet die Variable. Wenden Sie nun eine Abfrage auf die obige Info -Sammlung an.

Eine Gruppe, die vom Ausweis abhängt, wird erstellt. Und dann werden nur das Alter und die Geschlechtsdokumente ausgewählt, um angezeigt zu werden. Während die gesamten Daten, einschließlich des Namens und des Landes, entfernt werden. Dies ist irgendwie ein Filter, mit dem die Anzeige von Daten begrenzt wird.

>> db.die Info.Aggregate ([$ Group: _id: älter: "$ ay", Geschlecht: "$ Gender"])

Sie können sehen, dass wir jede Zeile nach ID gruppiert haben, indem wir die Daten auf zwei Attribute begrenzt haben.

Beispiel 2: Gruppen Sie durch mehrere Felder durch Anwenden einer Bedingung durch mehrere Felder

Dies bezieht sich auf die Gruppierung der Dokumente gemäß einer bestimmten Bedingung. Eine Gruppe wird auf zwei Attributen erstellt, und nach der Gruppenerstellung werden wir eine Zählvariable hinzufügen, um das Auftreten des Wertes eines bestimmten Dokuments zu zählen. Und wir haben auch eine Sortierreihenfolge hinzugefügt.

Lassen Sie uns zunächst die Dokumente in unserer Sammlung „Neu“ anzeigen.„Wir haben eine Sammlung erstellt und Daten früher hinzuge. Wir werden nur alle Elemente in der Sammlung über die Find () -Funktion anzeigen.

Die Abfrage enthält zuerst den Gruppenteil. Die Gruppe wird auf der ID erstellt; Universität und Ebene sind die beiden grundlegenden Attribute, die wir angezeigt werden möchten. Die von uns verwendete Variable erhält den Wert aus der Sammlung und weist ihn dann der Abfragevariablen zu. Alle Werte und Bedingungen sind nicht direkt im Befehl geschrieben.

Nach der Erstellung der Gruppen wird der Zustand angewendet; Es soll die Summe gemäß den Ebenen jedes Dokuments zählen und berechnen. Danach wird diese Antwort in absteigender Reihenfolge arrangiert. Dies geschieht durch die Sort () -Funktionen. Diese Funktion enthält nur zwei Parameter; Für den aufsteigenden Wert ist es 1 und zum Abstieg ist es -1.

>> db.neu.Aggregate ([$ Group: _id: "Universität": "$ University", "Level": "$ Level", "LevelCount": "$ sum": 1, "$ sortieren" : "LevelCount":-1])

Die absteigende Reihenfolge zeigt, dass zuerst der größere Betrag des Levels angezeigt wird, und dann wird das kleinere nach dem Level -Dokument angezeigt.

Beispiel 3: MongoDB -Bucket -Gruppe nach mehreren Feldern

Wie der Name angibt, dass die Gruppen nach dem Eimer gefunden werden. Dies geschieht durch Erstellen der Eimeraggregation. Bucket Aggregation ist der Prozess der Kategorisierung der Dokumente in Gruppen. Diese Gruppe wirkt wie Eimer. Jedes Dokument ist je nach spezifischer Ausdruck unterteilt.

Um dieses Konzept zu erläutern, werden wir uns eine Sammlung ansehen, die wir erstellt haben, und jetzt werden wir die Befehle darauf anwenden. Es wird eine „Zeichnung“ -Kollektion erstellt, die die grundlegenden Informationen zu einer Person speichert. Wir haben alle 4 Zeilen angezeigt, die früher in die Sammlung eingegeben wurden.

In den obigen Daten werden wir einen Befehl anwenden, um einen Bucket (Gruppe) zu erstellen, der das Jahr als Attribut zur Gruppierung der Daten hat. Wir haben auch Grenzen geschaffen, in denen das Jahr des Geborenen und des Todes erwähnt wird. Die in diesem Befehl angewendeten Bedingungen enthalten die Zählvariable, um die Anzahl der Vorkommen zu zählen. Wir haben hier auch eine Verkettungsmethode verwendet, um sowohl die ersten als auch die zweiten Namen als Zeichenfolgen zu kombinieren. Und auch das Geburtsjahr wird angezeigt. Die ID hängt von dem Jahr ab.

Wenn wir diese Abfrage berechnen.

Abschluss

Das MongoDB -Feature der Gruppierung in Abhängigkeit von mehr als einem einzigen Feld wird in diesem Artikel ausgearbeitet, indem die Arbeit des Gesamtbetriebs bei der Erstellung der Gruppen nachgewiesen wird. Jede Gruppenfunktion ist ohne die aggregierte Funktion unvollständig. Die Gruppenfunktion wird direkt über die verschiedenen Felder angewendet, um die Exposition ganzer Daten zu begrenzen. Die Gruppierung über mehrere Felder wird auch durch Anwenden einer bestimmten Bedingung erreicht. Am Ende haben wir die Schaffung einer Eimergruppe beschrieben, die mehr Elemente wie einen Eimer enthält.