Syntax des Filterabfrage MongoDB in Ubuntu 20.04?
Der $ -Filterbetreiber stellt einem Array nur diese Elemente in der ursprünglichen Reihenfolge an, die dem Zustand entsprechen. Nachfolgend erwähnt ist die Syntax von $ Filter:
$ filter: Eingabe:, als: , Cond:
Wie die Filterabfrage in MongoDB in Ubuntu 20 funktioniert.04:
Ein MongoDB $ -Filterbetreiber wird verwendet, um Dokumente aus einem Array zu filtern, das auf einer Bedingung basiert, die wir in unserer Abfrage definiert haben. Basierend auf der angegebenen Bedingung gibt eine Untergruppe eines Arrays zurück. Nur die Array -Einträge, die die Anforderungen erfüllen, werden zurückgegeben. Die Elemente werden in der gleichen Anordnung wieder zusammengebaut wie zuvor.
Schauen wir uns einige Instanzen an, um Ihnen zu verstehen, was wir diskutieren. Während wir den Artikel durchgehen, möchten wir, dass Sie die Beispiele in der Mongo -Shell ausprobieren. Wir erstellen zunächst eine Datenbanksammlung, die im gesamten Artikel verwendet wird.
Hier haben wir eine Sammlung der Datenbank als „Kandidaten“ mithilfe der MongoDB -Shell definiert. Für diese Sammlung haben wir das Feld ID, Name und Marks definiert. Wir haben sieben Dokumente gleichzeitig mit der InsertMany -Abfrage eingefügt.
Die Sammlung „Kandidaten“ ruft die Find -Funktion wie in der obigen Abfrage an. Anschließend zeigt das aufgezeichnete Dokument das Feld und seine entsprechenden Werte an. Beachten Sie, dass das Array im Feld „Markierungen“ mit einigen zufälligen Werten definiert ist.
Beispiel 1: Verwenden des $ Filter -Operators in MongoDB in Ubuntu 20.04:
Der $ -Filterbetreiber wird verwendet, um die Array -Mitglieder im Feld „Markierungen“ aus der angegebenen Sammlung im folgenden Beispiel zu filtern:
Wir haben die aggregierte Abfrage zur Sammlung von „Kandidaten“ verwendet. In dieser Abfrage haben wir den $ Match -Operator, mit dem das Dokument nach der ID gefiltert wird. Wir haben dem Feld ID einen $ im Operator zugewiesen. Der $ im Bediener findet Dokumente, bei denen der Wert der ID einem Wert im angegebenen Array entspricht. Anschließend wird der $ Filter -Operator das Eingabemargument übergeben und legt seinen Wert "$ marks" fest. Der Parameter "AS" wird auch verwendet, der den Feldnamen "Marks" zurückgibt. Anschließend haben wir den Cond -Parameter angegeben, der den größeren als Operator auf dem Feld „$$ Marks“ verwendet.
Durch die Befolgung der obigen Abfrage ist das Ergebnis, das wir erhalten haben.
Beispiel 2: Verwenden des $ Filter -Operators für ein leeres Array in MongoDB in Ubuntu 20.04:
Wenn eines unserer Sammeldokumente ein leeres Array hat, gibt der Filterbetreiber ein leeres Array -Set zurück, wie hier zu sehen ist:
Innerhalb des $ Match haben wir die ID angegeben, die den $ im Bediener hat, der ID „7“ aus der Sammlung zurückgibt, da wir in einem Array „7“ angegeben haben. Anschließend hat die $ -Filter -Abfrage das Sammelfeld „Markierungen“ bereitgestellt, das ein leeres Array zurückgibt, da im Feld „Marks“ von ID "7" kein Wert gespeichert ist.
Das Ergebnis des Filterbetreibers hat hier einen leeren Satz des Dokuments.
Beispiel 3: Verwenden des $ Filter -Operators für den falschen Typ in MongoDB in Ubuntu 20.04:
Wenn wir versuchen, den $ Filter in einem Feld zu verwenden, das kein Array hat, erhalten wir einen Fehler. Das Folgende ist die Demonstration dieser Aussage.
Wir haben ein Feld "Name" aus dem Dokument gegeben, dessen ID "5" im $ Filter -Operator ist. In dem Parameter -Cond von $ filter haben wir den $ eq -Operator, der das Feld „$ name“ nimmt und dem String -Wert abgibt, der ihm definiert ist.
Wenn wir die obige Abfrage ausführen.
Beispiel 4: Verwenden des $ Filter -Operators mit der $ diese Variable in MongoDB in Ubuntu 20.04:
Wir haben den Parameter „AS“ verwendet, um der Variablen in den früheren Fällen einen Namen zu geben. Der AS -Parameter ist optional. Wenn wir dieses Feld leer einstellen, ist der Variablenname standardmäßig "dies".
Hier haben wir das Array in $ im Bediener angegeben, das die ID -Felder aus den Dokumenten der angegebenen Sammlung innerhalb der $ Match auswählt. Dann hat der $ Filter den Zwei-Parameter, die Eingabe und die Eigentumswohnung. Der Cond -Parameter hat den größeren als den Bediener, der die Markierungen von mehr als 65 abholt. Wir haben sie nicht als Parameter verwendet, stattdessen haben wir den $$ dieses Feldnamens verwendet.
Durch die Verwendung von $$, um das Feld zu verweisen, erzielten wir die gleichen Ergebnisse wie aus dem „AS“. Die Ausgabe ist mit dem $ Match -Zustand und dem im Bild angezeigten $ -Filterbedingung zufrieden.
Abschluss:
Dies ist ein MongoDB -Filterhandbuch. In diesem Artikel haben wir die Definition, die Syntax und die Funktionsweise der Filter in MongoDB durchlaufen. Beispiele und Code -Implementierung werden ebenfalls bereitgestellt. Die Elemente des Array -Feldes werden mit dem MongoDB -Filterbetreiber gefiltert. Um Daten aus Array -Elementen abzurufen, haben wir mehrere Bedingungen wie $ GT, $ LT, $ GTE und $ LTE verwendet.