Der $ne-Operator in MongoDB

Shihab Sikder 20 Juni 2023
  1. der $ne-Operator in MongoDB
  2. Unterschied zwischen den Operatoren $not und $ne
Der $ne-Operator in MongoDB

In diesem Artikel wird erläutert, wie der Operator $ne in MongoDB funktioniert. Außerdem werden wir seine Unterschiede mit dem Operator $not aufzählen.

der $ne-Operator in MongoDB

$ne ist ein Operator in MongoDB, der für ungleich steht. Dies vergleicht den Wert eines Feldes und prüft, ob dieser gleich ist.

Syntax:

{field: {$ne: value}}

Angenommen, Sie haben die folgenden Dokumente in der Sammlung Mitarbeiter.

> db.employee.find().pretty()
{"_id":1,   "name":"Alice", "salary": 1500, "gender":"Female"}
{"_id":2,   "name":"Bob",   "salary": 2500, "gender":"male"}
{"_id":3,   "name":"Jhon",  "salary": 3500, "gender":"male"}
{"_id":4,   "name":"Grace", "salary": 4500, "gender":"female"}

Nun wollen Sie alle männlichen Mitarbeiter sehen. Dann sollte Ihre Abfrage wie folgt aussehen:

> db.employee.find({gender:{$ne: female}}).pretty()
{"_id":2,   "name":"Bob",   "salary": 2500, "gender":"male"}
{"_id":3,   "name":"Jhon",  "salary": 3500, "gender":"male"}

Ein weiteres Beispiel: Sie wurden gebeten, die Frau anzuzeigen, deren Gehalt größer oder gleich 4000 ist. Die Abfrage sollte also lauten:

> db.employee.find({gender:{$ne: male}, salary:{$gte:4000}}).pretty()
{"_id":4,   "name":"Grace", "salary": 4500, "gender":"female"}

Unterschied zwischen den Operatoren $not und $ne

Sie haben oben die Syntax für den Operator $ne gesehen. Wie Sie bemerkt haben, akzeptiert $ne nur Werte als Parameter.

Es prüft einfach, ob ein Dokument den genauen Wert im angegebenen Feld hat oder nicht. In manchen Fällen benötigen wir eher einen logischen Ausdruck als einen konstanten Wert; dann verwenden wir $not.

Syntax:

{ field: { $not: { <operator-expression> } } }

Hier sind die Ähnlichkeiten und Unterschiede zwischen $ne und $not:

$ne $not
Akzeptiert Werte als Parameter. Akzeptiert einen logischen Ausdruck als Parameter.
Unterstützt darin keine verschachtelten Abfragen. Sie können eine verschachtelte Abfrage innerhalb des Operators $not verwenden.
$ne wählt die Dokumente aus, bei denen der Wert des Felds nicht gleich dem angegebenen Wert ist, einschließlich Dokumente, die das Feld nicht enthalten. $not wählt die Dokumente aus, die nicht mit dem Operatorausdruck übereinstimmen, einschließlich Dokumente, die das Feld nicht enthalten.
$ne unterstützt Regex nicht. $not unterstützt Regex.

Um mehr über $ne und $not zu erfahren, besuchen Sie die beigefügte offizielle Dokumentation.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

Verwandter Artikel - MongoDB Operator