So verwenden Sie $ All Operator in MongoDB

So verwenden Sie $ All Operator in MongoDB
MongoDB ist eine NOSQL -Datenbank, die eine umfassende Unterstützung von Bedienungsklassen bietet, um Daten abzurufen. Der $ alle Der Bediener fällt unter die Kategorie einer Array -Operator -Klasse. Als Name von $ alle (Alle Operatoren in MongoDB) geben an, dass das Dokument aus einer Datenbanksammlung abgerufen wird, wenn es alle Werte in einem Array -Feld übereinstimmt. Außerdem die $ alle Der Betreiber bietet auch Unterstützung für verschachtelte Arrays, wenn sie in einem Bereich vorhanden sind.

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:

  • MongoDB -Datenbank: Die in diesem Handbuch verwendete MongoDB -Datenbank wird als "als" benannt "genannt"LinuxHint
  • Sammlung: Wir haben verbunden “Projekte"Sammlung mit"LinuxHintDatenbank,

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).