Mongodb: wie frage ich „nicht null“ ab? in einem bestimmten bereich
Mit der folgenden Syntax können Sie in MongoDB alle Dokumente finden, für die ein bestimmtes Feld nicht null ist:
db.collection.find({" field_name ":{ $ne : null }})
Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.
Beispiel 1: Abfrage nach „nicht null“ in einem bestimmten Feld
Nehmen wir an, wir haben ein Inkassoteam mit den folgenden Dokumenten:
db.teams.insertOne({team: " Mavs ", position: null , points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: null , points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
Mit dem folgenden Code können wir alle Dokumente finden, bei denen das Feld „Position“ nicht null ist:
db.teams.find({" position ":{ $ne : null }})
Diese Abfrage gibt die folgenden Dokumente zurück:
{ _id: ObjectId("618bf18f35d8a762d3c28717"), team: 'Spurs', position: 'Guard', points: 22 } { _id: ObjectId("618bf18f35d8a762d3c28719"), team: 'Warriors', position: 'Forward', points: 26 } { _id: ObjectId("618bf18f35d8a762d3c2871a"), team: 'Cavs', position: 'Guard', points: 33 }
Beachten Sie, dass nur Dokumente zurückgegeben werden, deren Feld „Position“ nicht null ist.
Beispiel 2: Abfrage nach „nicht null“ (wenn nicht alle Dokumente das Feld enthalten)
Nehmen wir an, wir haben ein Inkassoteam mit den folgenden Dokumenten:
db.teams.insertOne({team: " Mavs ", position: null , points: 31 }) db.teams.insertOne({team: " Spurs ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: null , points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
Beachten Sie, dass das zweite Dokument in der Sammlung nicht einmal über ein Feld „Position“ verfügt.
Mit dem folgenden Code können wir alle Dokumente finden, bei denen das Feld „Position“ nicht Null ist:
db.teams.find({" position ":{ $ne : null }})
Diese Abfrage gibt die folgenden Dokumente zurück:
{ _id: ObjectId("618bf18f35d8a762d3c28719"), team: 'Warriors', position: 'Forward', points: 26 } { _id: ObjectId("618bf18f35d8a762d3c2871a"), team: 'Cavs', position: 'Guard', points: 33 }
Da das zweite Dokument nicht einmal über ein Feld „Position“ verfügt, wird es nicht zurückgegeben.
Beachten Sie außerdem, dass die beiden anderen Dokumente, deren Feld „Position“ einen Nullwert aufweist, ebenfalls nicht zurückgegeben werden.
Zusammenfassung : Mit der Syntax $ne:null geben wir nur Dokumente zurück, für die ein bestimmtes Feld vorhanden ist und nicht null ist.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:
MongoDB: So fragen Sie mit einem regulären „Gefällt mir“-Ausdruck ab
MongoDB: So überprüfen Sie, ob das Feld eine Zeichenfolge enthält
MongoDB: So fügen Sie einer Sammlung ein neues Feld hinzu
MongoDB: So entfernen Sie ein Feld aus jedem Dokument