MongoDB $ esiste una domanda

MongoDB $ esiste una domanda

L'operatore MongoDB $ esiste consente all'utente di ottenere i documenti da una raccolta indipendentemente dal fatto che sia presente un campo pertinente. L'operatore $ esiste prende solo il parametro booleano che può essere vero o falso. Il valore reale specificato per l'operatore $ esiste restituisce il documento abbinato che include il campo specificato anche in cui il valore del campo è nullo. D'altra parte, i documenti che non includono il campo specificato vengono restituiti quando il valore del valore $ esiste è impostato su false.

Come esiste l'operatore $ funziona in mongodb?

L'operatore $ esiste viene utilizzato nel nome del campo specificato. Il nome del campo è definito nel metodo find (). Quindi, il nome del campo specificato è ulteriormente impostato come espressione dell'operatore $. La seguente sintassi è fornita per una migliore comprensione:

db.collezione.find (field_name: $ esiste: boolean_value).

Prima di iniziare l'utilizzo dell'operatore $ esiste, è tenuto a stabilire la raccolta MongoDB e recuperare il contenuto di tale raccolta, che verrà utilizzata dall'operatore $. Utilizziamo la collezione "Customer" per l'operatore $ esiste e inseriamo il seguente documento all'interno di quella raccolta utilizzando il metodo InsertMany ().

db.Cliente.InsertMany ([

"OrderName": "libri di fiabe",
"Qty": 3,
"Prezzo": 600,
"Data": "24-11-2022",
"Dettagli": ["nome": "Kyle", "Age": 21, "Telefono": 032367]
,

"OrderName": "profumo",
"Qty": 1,
"Prezzo": 450,
"Data": "24-11-2022",
"Dettagli": ["nome": "Richard", "Age": 28, "Telefono": "8237818"]
,

"OrderName": "Watch",
"Qty": 1,
"Prezzo": 750,
"Dettagli": ["nome": "Addy", "Age": 34, "Telefono": 419230],
,

"OrderName": "Bracciale",
"Qty": 2,
"Prezzo": 590,
"Data": "2-11-2022",
"Dettagli": ["nome": "Emily", "Age": 19, "Telefono": 2304949]

])

Quando il documento viene inserito correttamente nella raccolta, otteniamo la seguente uscita dalla shell Mongodb:

Esempio 1: l'uso dell'operatore MongoDB $ esiste con valore reale

Quando esiste $ operatore di MongoDB è assegnato con il valore booleano "vero", restituisce tutti i documenti della raccolta specificata con quel nome di campo. Lì, abbiamo una query utilizzando l'operatore $ esiste in cui specifichiamo per la prima volta il nome del campo "ordina". Il campo "OrderName" è impostato con $ esiste: true Espressione in cui l'operatore $ uscisce è impostato con il valore "true". L'operatore di $ usciti qui identifica il documento che contiene il campo "ordiname" nella raccolta.

db.Cliente.find ("orderName": $ esiste: true).bello();

Il campo "OrderName" esiste in tutti i documenti della raccolta "Cliente" che viene restituito dopo aver eseguito la query.

Esempio 2: l'uso dell'operatore MongoDB $ esiste con un valore falso

Quando esiste l'operatore $ è associato al valore "falso", restituisce quei documenti che contengono il campo dato. Ora implementiamo la query dell'operatore $ esiste con il falso valore. Per prima cosa specifichiamo il campo "Data". Quindi, impostiamo l'operatore $ esiste che è uguale al valore "falso". L'operatore $ esiste cerca di quel documento in cui il campo "Data" non è incluso poiché il valore "falso" è impostato contro di esso.

db.Cliente.find ("data": $ esiste: false).bello();

Quando la query dell'operatore $ esiste viene eseguita sulla shell, restituisce un documento con il campo "Data" di non esistenza.

Esempio 3: l'uso dell'operatore MongoDB $ esiste con l'operatore condizionale

Questo è un esempio dell'operatore $ esiste che viene impiegato con l'operatore di confronto "GT". La query è data in cui abbiamo un nome di campo "prezzo" che deve essere identificato dall'operatore $ esiste e quei valori di campo "prezzo" vengono restituiti solo secondo la dichiarazione di confronto. Il campo "prezzo" è impostato con la doppia espressione. La prima espressione è che "$ esiste: vero" per restituire il documento associato al campo "prezzo". Quindi, la seconda espressione è la "$ gt: 550" che indica quei documenti recuperati il ​​cui valore di prezzo è maggiore del valore "550".

db.Cliente.find (price: $ esiste: true, $ gt: 550).bello()

I documenti sono recuperati come output che contiene il campo "prezzo" e i valori del "prezzo" sono maggiori di "550".

Esempio 4: l'uso dell'operatore MongoDB $ esiste per più campi

Mentre utilizziamo l'operatore $ esistenti per l'identificazione del singolo campo, usiamo qui l'operatore $ esiste per il recupero dei più campi dal documento. All'interno della seguente query, specifichiamo il campo "Qty" impostato con l'operatore $ esistente con il valore reale. È inoltre definito il campo "Dettagli" che è anche fornito con l'operatore $ esistenti e il valore contro di esso è anche vero. Si noti che impostiamo l'operatore $ esistenti separatamente per ciascun campo specificato.

db.Cliente.Trovare(
Qty: $ esiste: true,
Dettagli: $ esiste: true
)

L'operatore $ esiste restituisce tali documenti nel seguente output che contiene i campi "Qty" e "Dettagli".

Esempio 5: l'uso dell'operatore MongoDB $ esiste per il campo dell'array

Qui, determiniamo se esiste o meno un campo nella matrice fornita del documento. Notare la seguente domanda. Definiamo il campo dell'array come "Dettagli.età "in cui" dettagli "è l'array del documento e l'elemento sul campo è" età ". L'operatore $ esiste viene quindi implementato con il "vero" valore booleano che trova l'esistenza del campo "età" dall'array "dettagli" del documento.

db.Cliente.Trova ("Dettagli.Age ": $ esiste: true)

L'output visualizza i documenti che includono il campo dell'array "età".

Esempio 6: l'uso dell'operatore MongoDB $ esiste con $ NIN Operator

Usiamo il metodo $ esiste con l'operatore di confronto nell'esempio precedente. Possiamo anche usare questo operatore con un altro operatore proprio come l'operatore $ nin. Innanzitutto, il $ esiste recupera i documenti a seconda del campo dato. Quindi, $ nin genera i documenti che non includono i valori indicati. Facciamo la seguente query dell'operatore $ esiste insieme all'operatore $ nin. Diamo un campo "Data" in cui l'operatore $ esiste viene utilizzato con il valore "vero". Quindi, il valore del campo "Data" viene quindi definito con l'operatore $ NIN. L'operatore $ esiste controlla l'esistenza del campo "Data" e l'operatore $ NIN esclude il documento che viene recuperato dall'operatore $ esiste il cui valore è "24-11-2022".

db.Cliente.find (data: $ esiste: true, $ nin: ["24-11-2022"])

Il funzionamento di $ esiste e gli operatori $ nin che recuperano il documento dalla raccolta sono nella seguente immagine:

Conclusione

L'operatore $ esiste è molto utile quando vogliamo trovare l'esistenza di un determinato documento nella nostra collezione. Possiamo anche includere il documento specifico o escluderlo da visualizzare nella collezione MongoDB. Abbiamo fornito i casi d'uso dell'operatore $ esiste per dimostrare la funzionalità di questo operatore in MongoDB. Abbiamo esaminato l'esistenza di documenti incorporati utilizzando l'operatore $ esiste. Inoltre, abbiamo usato l'operatore $ esiste con il confronto e gli operatori $ nin. Ognuno di questi operatori ha un lavoro diverso con l'operatore $.