Mongodb: so verwenden sie „not equal“ in abfragen
Sie können in MongoDB den Operator $ne (was „nicht gleich“ bedeutet) verwenden, um Dokumente zu finden, in denen ein Feld nicht einem bestimmten Wert entspricht.
Dieser Operator verwendet die folgende grundlegende Syntax:
db.myCollection.find({' team ': { $ne : " Mavs "}})
In diesem speziellen Beispiel wird nach allen Dokumenten in der Sammlung mit dem Namen „myCollection “ gesucht, bei denen das Teamfeld nicht „Mavs“ entspricht.
Sie können auch den Operator $nin (was „nicht in“ bedeutet) verwenden, um Dokumente zu finden, in denen ein Feld keinem Wert in einer Liste entspricht.
Dieser Operator verwendet die folgende grundlegende Syntax:
db.myCollection.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
In diesem speziellen Beispiel wird nach allen Dokumenten in der Sammlung mit dem Namen „myCollection“ gesucht, bei denen das Teamfeld nicht „Mavs“, „Cavs“ oder „Spurs“ entspricht.
Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis mit einem Inkassoteam mit den folgenden Dokumenten angewendet werden:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Spurs ", points: 35, rebounds: 12}) db.teams.insertOne({team: " Rockets ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Warriors ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Cavs ", points: 23, rebounds: 9})
Beispiel 1: „Anders“-Abfrage
Der folgende Code zeigt, wie alle Dokumente in der Teams- Sammlung gefunden werden, bei denen das Feld „team“ nicht gleich „Mavs“ ist:
db.teams.find({' team ': { $ne : " Mavs "}})
Diese Abfrage gibt die folgenden Dokumente zurück:
{ _id: ObjectId("6203ec0e1e95a9885e1e7658"), team: 'Cavs', points: 23, rebounds: 9 } { _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7655"), team: 'Spurs', points: 35, rebounds: 12 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
Beachten Sie, dass jedes Dokument in der Teams- Sammlung zurückgegeben wird, bei dem das Teamfeld nicht „Mavs“ entspricht.
Hinweis : Beim $ne- Operator wird die Groß-/Kleinschreibung beachtet.
Beispiel 2: „Nicht in“-Abfrage
Der folgende Code zeigt, wie alle Dokumente in der Teamsammlung gefunden werden, bei denen das Teamfeld nicht „Mavs“, „Cavs“ oder „Spurs“ entspricht:
db.teams.find({' team ': { $nin : [" Mavs ", " Cavs ", " Spurs "]}})
Diese Abfrage gibt die folgenden Dokumente zurück:
{ _id: ObjectId("6203ec0e1e95a9885e1e7656"), team: 'Rockets', points: 20, rebounds: 7 } { _id: ObjectId("6203ec0e1e95a9885e1e7657"), team: 'Warriors', points: 25, rebounds: 5 }
Beachten Sie, dass jedes Dokument in der Teamsammlung zurückgegeben wird, wenn das Teamfeld nicht „Mavs“, „Cavs“ oder „Spurs“ entspricht.
Hinweis Nr. 1 : Die vollständige Dokumentation für die $ne- Funktion finden Sie hier .
Hinweis Nr. 2 : Die vollständige Dokumentation für die $nin -Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:
MongoDB: So überprüfen Sie, ob das Feld eine Zeichenfolge enthält
MongoDB: So suchen Sie in einem bestimmten Feld nach „nicht null“.
MongoDB: So ersetzen Sie Zeichenfolgen