MongoDB Nin Operator

MongoDB Nin Operator
Der $ Nin -Operator in MongoDB wird verwendet, um die Dokumente auszuwählen, in denen sich ein Wert eines bestimmten Feldes nicht in einem bestimmten Array befindet.

Lassen Sie uns untersuchen, wie wir diesen Bediener verwenden können.

Operatorsyntax

Das Folgende zeigt die Syntax des $ Nin -Operators:

Feld: $ nin: [,…]

Lassen Sie uns untersuchen, wie wir diesen Bediener verwenden können.

Betrachten Sie die Sammlung mit einem Dokument wie in der folgenden Abfrage:

db.CreateCollection ("Posts")
db.Beiträge.InsertMany ([
Titel: "post_1", Autor: "Author_1", Jahr: 2022, Kategorie: ["Cat1", "Cat2"],
Titel: "post_2", Autor: "Author_2", Jahr: 2022, Kategorie: ["Cat1", "Cat3"],
Titel: "post_3", Autor: "Author_3", Jahr: 2022, Kategorie: ["Cat3", "Cat2"]
]))

Wählen Sie mit dem Operator $ nin unübertroffene Dokumente aus

Die folgende Beispielabfrage zeigt, wie der $ Nin -Operator verwendet wird, um Dokumente auszuwählen, bei denen der Wert des Autorfelds nicht gleich 1 oder 3 ist.

db.Beiträge.find (Autor: $ nin: ["Author_1", "Author_3"]);

Die obige Abfrage sollte die Dokumente auswählen, die nicht mit der angegebenen Bedingung übereinstimmen, und die entsprechende Ausgabe zurückgeben.

Ein Beispiel ist wie gezeigt:


"_id": ObjectID ("632BF2014E8DEE924A2279AD"),
"Titel": "post_2",
"Autor": "Autor_2",
"Jahr": 2022.0,
"Kategorie" : [
"Cat1",
"Cat3"
]

Wählen Sie das Element nicht in einem bestimmten Array mit dem $ Nin -Operator aus

Wir können auch den $ nin -Operator verwenden, um Dokumente herauszufiltern, die kein bestimmtes Element in das Array enthalten.

In der folgenden Abfrage verwenden wir beispielsweise den $ Nin -Operator, um ein Dokument herauszufiltern, das CAT2 nicht im Kategorie -Array enthält.

db.Beiträge.find (Kategorie: $ nin: ["cat2"])

Wie erwartet sollte die obige Abfrage alle Dokumente zurückgeben, die das angegebene Element im Array nicht enthalten.


"_id": ObjectID ("632BF2014E8DEE924A2279AD"),
"Titel": "post_2",
"Autor": "Autor_2",
"Jahr": 2022.0,
"Kategorie" : [
"Cat1",
"Cat3"
]

Aktualisieren Sie Daten mit dem $ Nin -Operator

Wir können den $ nin -Operator auch mit UpdateOne oder UpdateMany () -Methode verwenden. Ein Beispiel ist wie unten gezeigt:

db.Beiträge.updatemany (Kategorie: $ nin: ["cat2"], $ set: exklude: true)

In diesem Fall sollte die Abfrage die Sammlung mit den Dokumenten aktualisieren, die nicht mit der angegebenen Bedingung übereinstimmen.

Abschluss

In diesem Beitrag haben wir besprochen, wie wir den $ Nin -Operator in MongoDB verwenden können, um unerreichte Dokumente auszuwählen, Dokumente nicht in einem bestimmten Array auszuwählen, usw.