So verwenden Sie $ in und $ Nin -Betreiber in MongoDB

So verwenden Sie $ in und $ Nin -Betreiber in MongoDB
MongoDB unterstützt mehrere Betreiber dabei, das Dokument aus den Datenbanken abzurufen. Die von MongoDB unterstützten Bedienungsklassen umfassen Vergleich, Logik, Elementoperatoren usw. Die $ in (ausgesprochen als "In") und $ nin (Nicht in) Operatoren in MongoDB gehören zur Vergleichsklasse von MongoDB -Operatoren. Diese Operatoren zielen ausdrücklich nur Array-Werte ab und können die Sammlung auf der Grundlage vorhandener oder nicht existierender Werte filtern. Zum Beispiel, $ in Der Bediener sucht nach Array -Werten und zeigt nur die Dokumente an, die mit dem Array übereinstimmen, während $ nin Der Bediener hilft dabei, nur die Dokumente anzuzeigen, die die Werte nicht enthalten (die an $ Nin Operator übergeben werden).

In diesem Artikel werden wir einen detaillierten Leitfaden zur Verwendung anbieten $ in Und $ nin Betreiber in MongoDB:

Es wird empfohlen, die folgenden Elemente der Voraussetzungsliste zu vervollständigen, um zur Anwendung dieser Betreiber fortzufahren.

Voraussetzungen

Dieser Abschnitt enthält eine Reihe von Komponenten von MongoDB, die erforderlich sind, um diesen Leitfaden zu befolgen:

  • MongoDB -Datenbank
  • Eine Sammlung in einer Datenbank
  • Dokumente in einer Sammlung

In diesem Beitrag werden wir die folgende Datenbank und eine Sammlung verwenden, um $ in und $ Nin -Operatoren anzuwenden:

Name der Datenbank: LinuxHint

Sammlungsname: Debian

Sie sollten auch ein paar Dokumente in eine Sammlung einfügen.

So verwenden Sie $ in und $ Nin -Betreiber in MongoDB

Dieser Artikel ist in zwei Teile unterteilt; Einer bezieht.

Erstens werden wir die in unserer Sammlung verfügbaren Dokumente überprüfen (damit wir Aktionen entsprechend ausführen können).

Stellen Sie eine Verbindung zu Ihrem MongoDB durch, indem Sie den folgenden Befehl in Ubuntu Terminal ausgeben: Es wird festgestellt, dass dieser Befehl Sie automatisch mit Ihnen verbindet Mongoschale sowie.

$ sudo mongo LinuxHint

Danach können Sie die Anzeige aller in Ihrer Sammlung verfügbaren Dokumente erhalten: Zum Beispiel hilft der folgende Befehl beim Abrufen von Dokumenten, die in der “verfügbar sind.“Debian" Sammlung:

> db.Debian.finden().hübsch()

So verwenden Sie $ im Operator in MongoDB

Der $ in Der Bediener sucht nach dem Array und zeigt das Dokument an, das dem Wert entspricht: die Syntax von $ in ist unten geschrieben:

"Feld": $ in: ["value1", "value2", ...]

Sie müssen den Feldnamen und die Werte angeben, nach denen Sie suchen möchten:

Beispiel 1: Verwenden Sie $ in, um einem Wert zu entsprechen

Der $ im Bediener kann verwendet werden, um einen Wert in einem Feld zu entsprechen, und druckt die Dokumente aus, die mit diesem Wert übereinstimmen. Zum Beispiel zeigt der folgende Befehl alle Dokumente an, die haben “num"(Feld) entspricht dem Wert"20„: Da nur ein Dokument Wert enthält“20„; Somit wird nur dieser gedruckt:

> db.Debian.find (num: $ in: [20]).hübsch()

Beispiel 2: Verwenden Sie $ in, um einen Array -Wert (en) zu entsprechen

Darüber hinaus können Sie den $ im Bediener verwenden, um nach Array -Werten in der MongoDB -Datenbank zu suchen. In unserem Fall zeigt der unten erwähnte Befehl die Dokumente mit Werten an “Mike" Und "Jack" In "Autoren “ Feld:

> db.Debian.Find (Autoren: $ in: ["Mike", "Jack"]).hübsch()


Beispiel 3: Verwenden Sie $ in, um reguläre Ausdrücke zu entsprechen

Der $ im Bediener kann auch verwendet werden, um die von einem regulären Ausdruck angegebenen Werte abzustimmen: Auf dem unten erwähnten Befehl werden Dokumente angezeigt, die ein Feld enthalten "Typ"Und die Saiten im Feld beginnen mit beiden"ab" oder "CD„:

> db.Debian.find (type: $ in: [/^ab/,/^cd/]).hübsch()

So verwenden Sie $ Nin Operator in MongoDB

Der $ Nin -Betreiber in MongoDB handelt gegenüber $ in; Wie $ nin zeigt das Dokument an, das den angegebenen Wert nicht enthält. Die Syntax ist gleich $ in und ist unten gezeigt:

"eingereicht": $ nin: ["value1", "value2"…]

Beispiel 1: Verwenden Sie $ nin, um einem Wert zu entsprechen

Wie bereits erwähnt, zeigt dieser $ Nin -Operator das Dokument, das mit einem Wert entspricht, nicht an. Im folgenden Befehl werden die Dokumente angezeigt, die nicht enthalten sind20" In "num" Feld:

Die folgende Ausgabe zeigt, dass gedruckte Dokumente keinen Wert enthalten “20„:

> db.Debian.find (num: $ nin: [20]).hübsch()

Beispiel 2: Verwenden Sie $ nin, um einem Array -Wert zu entsprechen

Der folgende Befehl zeigt die Dokumente an, die nicht enthalten sindMike" Und "John" im "Autoren" Feld. Da kein Dokument zurückgelassen wird, weil alle Dokumente entweder “sind“Mike" oder "JohnAls Autor wird es eine leere Ausgabe geben:

> db.Debian.Find (Autoren: $ nin: ["Mike", "John"]).hübsch()

Beispiel 3: Verwenden Sie $ nin, um einem regulären Ausdruck zu entsprechen

Der $ Nin -Betreiber wird auch verwendet, um die Dokumente auf der Grundlage regulärer Ausdrücke zu erhalten. Zum Beispiel im folgenden Befehl: “Typ"Feld wird ausgewählt und $ Nin druckt diese Dokumente, in denen"Typ"Wert beginnt nicht mit"ab" oder "CD„:

> db.Debian.find (type: $ nin: [/^ab/,/^cd/]).hübsch()

Notiz: Der "hübsch()In diesem Artikel wird die Ausgabe nur in strukturierter Form verwendet. Sie können nur verwenden “finden()Um das gleiche Ergebnis zu erzielen, aber unstrukturiert.

Abschluss

Das richtige Datenmanagement ist das Hauptanliegen einer Organisation. Sie müssen Daten speichern und das schnelle Abrufen von Daten wird bei Bedarf bevorzugt. Mehrere Datenbankverwaltungssysteme bieten eine solche Funktionalität und MongoDB ist einer davon. In diesem Beitrag haben wir die Verwendung von zwei Operatoren beschrieben “$ in" Und "$ nin”Das hilft beim Abrufen von Array -Werten in einer MongoDB -Datenbank. Diese Betreiber helfen dabei, die erforderlichen Dokumente basierend auf Werten zu erhalten, die von diesen Betreibern übereinstimmen,. Der $ im Bediener druckt das Dokument, das die Übereinstimmung enthält. während $ nin die Dokumente druckt, die nicht mit dem Wert übereinstimmen.