In diesem Artikel wird ein kurzer Einblick in die Nutzung von $ All -Operator im Kontext in MongoDB bereitgestellt.
Wie $ All Operator in MongoDB funktioniert
Wie oben erläutert, mit Hilfe von $ allen Betreibern; Man kann Dokumente basierend auf Array -Feldern abrufen.
Schauen wir uns die Syntax von $ All Operator an, um ein besseres Verständnis zu erhalten:
"Feld": $ all: ["value1", "value2"…]
Dieser Bediener sucht nach den angegebenen Werten und jedes Dokument, das ein Feld mit genauen Werten hat, wird abgerufen. Es wird jedoch bemerkt, dass das $ alle funktioniert nur, wenn alle Werte mit den Werten eines Array -Felds in einem Dokument übereinstimmen. Der Arbeitsmechanismus von $ alle bezieht sich auf $und (logischer Operator in MongoDB); Beide Operatoren suchen nach genauen Übereinstimmungen. Aber $und der Bediener kann mit mehreren Datentypen verwendet werden, während $ alle ist nur spezifisch für Array -Datentypfelder.
Wie $ All Operator in MongoDB funktioniert
In diesem Handbuch werden folgende MongoDB -Instanzen verwendet:
Die folgenden Dokumente liegen in “Projekte" Sammlung:
> db.Projekte.finden().hübsch()
Beispiel 1: Grundnutzung von $ All Operator
Dieses Beispiel zeigt die grundlegende Verwendung von $ alle Betreiber; Der unten erwähnte Befehl wird beispielsweise nach einer genauen Übereinstimmung der Array -Werte in “gesuchtManager" Feld; Es werden nur diese Dokumente angezeigt, die die Namen des Managers haben. “Mike" Und "Sam„:
> db.Projekte.find (Manager: $ all: ["mike", "sam"]).hübsch()
Beispiel 2: Verwenden Sie $ All Operator mit verschachtelten Arrays
Wenn das Dokument verschachtelte Arrays wie in unserem Fall enthält “HardwareDas Projekt enthält eine verschachtelte Auswahl von Managern. Wir können das Dokument erhalten, indem wir das Nest -Array in $ All Operator angeben. Der unten erwähnte Befehl holt das Dokument mit Managern abAlen","Sam" Und "Elon„:
> db.Projekte.find (Manager: $ all: [["Alen", "Sam"], "Elon"]).hübsch()
Es ist zu bemerken, dass, wenn Sie nur einen verschachtelten Teil des Arrays verwenden möchten. Sie können dies auch tun, und der folgende Befehl hilft Ihnen in dieser Hinsicht:
> db.Projekte.find (Manager: $ all: [["Alen", "sam"]).hübsch()
Beispiel 3: Verwenden Sie $ All Operator, um einen Wert zu entsprechen
Abgesehen vom Umgang mit Arrays kann die Verwendung von $ alle Betreiber um die Werte im Dokument übereinstimmen. In unserem Fall erhält der unten erwähnte Befehl die Dokumente, die haben “kosten"Wert ist gleich"5000„:
> db.Projekte.find (cost: $ alle: [5000]).hübsch()
Oder man kann sagen, dass der unten geschriebene Befehl Ihnen auch das gleiche Ergebnis liefert:
> db.Projekte.find (cost: 5000).hübsch()
> db.meine Sammlung.finden().hübsch()
Abschluss
MongoDB bietet eine umfangreiche Liste von Betreibern, mit denen die erforderlichen Dokumente aus der Sammlung einer Mongo -Datenbank abgerufen werden. In diesem Artikel wird ein Array -zugeordneter Operator mit dem Namen $ $ All kurz im MongoDB -Kontext erörtert. Dieser Bediener kann verwendet werden, um die Array -Werte in einem Feld zu entsprechen und dieses relevante Dokument abzurufen. Abgesehen von Array -Werten bietet $ alle auch Unterstützung beim Abrufen des Dokuments, indem sie einen beliebigen Wert abgleichen (außer einem Array).