MongoDB Controlla se i documenti contengono un campo

MongoDB Controlla se i documenti contengono un campo
Benvenuti in un altro tutorial MongoDB.

In questo, impareremo come verificare se un documento all'interno di una determinata raccolta contiene un determinato campo mediante l'uso dell'operatore $. Se sembra interessante, saltiamo dentro.

Sintassi dell'operatore

Cominciamo con le basi e discutiamo della sintassi dell'operatore $ esiste. L'operatore assume una sintassi relativamente semplice come illustrato nel seguente frammento di codice:

field: $ esiste:

L'operatore corrisponde quindi ai documenti che contengono il campo specificato, incluso dove il valore di detto campo è nullo. Tuttavia, se il valore booleano è falso, l'operatore restituisce tutti i documenti che non contengono detto campo.

Se vieni dai database SQL, questo operatore non è simile alla query esiste in lingua SQL.

Esempio pratico

Basta con la teoria. Vediamo una raccolta pratica e impariamo come utilizzare questo operatore per recuperare i documenti che contengono o non contengono un determinato campo.

Supponiamo di avere una raccolta con i seguenti documenti:

db.CreateCollection ("dipendenti")

Possiamo quindi aggiungere un dati di esempio come segue:

db.dipendenti.InsertMany ([

"_id": 1,
"First_name": "Raymond",
"last_name": "Zanib",
"Stato": "Active",
"Stipendio": 100000
,

"_id": 2,
"full_name": "Alexandros Flower",
"Stipendio": 110000,
"Stato": "Active"
,

"_id": 3,
"full_name": "Umer McCulloch",
"Stipendio": 109000,
"Lingue": "en"

])

Nell'esempio dato, abbiamo tre documenti con campi e valori diversi. Scopriamo come possono aiutarci a capire l'operatore $ esiste.

Prendi i documenti con un determinato campo

Possiamo usare l'operatore $ esiste per recuperare tutti i documenti che contengono il campo, "full_name". Una richiesta di esempio è come mostrato da segue:

db.dipendenti.find ("full_name": $ esiste: true)

Dato che impostiamo $ esiste su true, la query dovrebbe restituire solo i documenti che contengono il campo definito.

Un output di esempio è come mostrato:

[

_id: 2,
full_name: 'Alexandros Flower',
Stipendio: 110000,
Stato: "attivo"
,

_id: 3,
full_name: 'Umer McCulloch',
Stipendio: 109000,
Lingue: 'en'

"

Come possiamo vedere, entrambi i documenti restituiti contengono il campo "full_name".

Prendi i documenti che non includono un campo specifico

Possiamo anche fare il contrario. Nella seguente query, utilizziamo l'operatore $ esiste ma invece, impostiamo il valore su False, consentendo al documento di restituire i documenti che non includono il campo set.

db.dipendenti.find ("full_name": $ esiste: false)

In questo caso, esiste un solo documento che corrisponde alla condizione impostata.

[

_id: 1,
first_name: 'Raymond',
last_name: 'Zanib',
Stato: "attivo",
Stipendio: 100000

"

Conclusione

Ecco qua. La funzionalità dell'operatore $ è suddivisa per la tua comprensione. Resta sintonizzato per altri tutorial.