MongoDB überprüfen, ob die Dokumente ein Feld enthalten

MongoDB überprüfen, ob die Dokumente ein Feld enthalten
Willkommen bei einem anderen MongoDB -Tutorial.

In diesem Fall lernen wir, wie Sie überprüfen, ob ein Dokument in einer bestimmten Sammlung ein bestimmtes Feld mit der Verwendung des $ exists exists operator enthält. Wenn das interessant klingt, lassen Sie uns hineinspringen.

Operatorsyntax

Beginnen wir mit den Grundlagen und diskutieren Sie die Syntax des $ existierenden Operators. Der Bediener übernimmt eine relativ einfache Syntax, wie im folgenden Code -Snippet dargestellt:

Feld: $ existiert:

Der Bediener übergeht dann mit den Dokumenten, die das angegebene Feld enthalten. Wenn der Boolesche Wert jedoch falsch ist, gibt der Bediener alle Dokumente zurück, die das genannte Feld nicht enthalten.

Wenn Sie aus den SQL -Datenbanken stammen, ähnelt dieser Bediener nicht der existierenden Abfrage in der SQL -Sprache.

Praktisches Beispiel

Genug mit der Theorie. Schauen wir uns eine praktische Sammlung an und lernen Sie, wie Sie diesen Bediener verwenden, um die Dokumente abzurufen, die ein bestimmtes Feld enthalten oder nicht enthalten.

Angenommen, wir haben eine Sammlung mit den folgenden Dokumenten:

db.CreateCollection („Mitarbeiter“)

Wir können dann wie folgt eine Beispieldaten hinzufügen:

db.Mitarbeiter.InsertMany ([

"_id": 1,
"First_Name": "Raymond",
"Last_name": "Zanib",
"Status": "aktiv",
"Gehalt": 100000
,

"_id": 2,
"full_name": "Alexandros Blume",
"Gehalt": 110000,
"Status": "aktiv"
,

"_id": 3,
"Full_name": "Umer McCulloch",
"Gehalt": 109000,
"Sprachen": "en"

]))

Im angegebenen Beispiel haben wir drei Dokumente mit unterschiedlichen Feldern und Werten. Lassen Sie uns herausfinden, wie sie uns helfen können, den $ exists operator zu verstehen.

Holen Sie sich die Dokumente mit einem bestimmten Feld

Wir können den $ exist operator verwenden, um alle Dokumente zu holen, die das Feld "full_name" enthalten. Eine Beispielanforderung lautet wie im Folgenden:

db.Mitarbeiter.find ("full_name": $ existiert: true)

Da wir die $ existieren auf true, sollte die Abfrage nur die Dokumente zurückgeben, die das definierte Feld enthalten.

Ein Beispielausgang ist wie gezeigt:

[

_id: 2,
full_name: 'Alexandros Blume',
Gehalt: 110000,
Status: 'aktiv'
,

_id: 3,
full_name: 'umer mcculloch' ',
Gehalt: 109000,
Sprachen: 'en'

]

Wie wir sehen können, enthalten beide zurückgegebenen Dokumente das Feld "full_name".

Rufen Sie die Dokumente ab, die kein bestimmtes Feld enthalten

Wir können auch das Gegenteil machen. In der folgenden Abfrage verwenden wir den $ existierenden Operator, setzen jedoch den Wert auf False fest, sodass das Dokument die Dokumente zurückgeben kann, die nicht das festgelegte Feld enthalten.

db.Mitarbeiter.find ("full_name": $ existiert: false)

In diesem Fall gibt es nur ein Dokument, das dem festgelegten Zustand entspricht.

[

_id: 1,
First_Name: 'Raymond',
Last_name: 'Zanib',
Status: 'aktiv',
Gehalt: 100000

]

Abschluss

Hier hast du es. Die Funktionalität des $ Operators ist für Ihr Verständnis unterteilt. Bleiben Sie dran für weitere Tutorials.