MongoDB o operatore

MongoDB o operatore
Abbiamo diversi operatori di query logici disponibili in MongoDB e uno di questi è il $ o l'operatore. Il MongoDB $ o l'operatore viene utilizzato per implementare un'operazione logica o su un array che contiene due o più espressioni e recupera solo quei documenti che corrispondono a una delle espressioni specificate nell'array. L'operatore $ o viene utilizzato per trovare più istruzioni in una singola query con un solo criterio di documentazione corrispondente. Il $ o l'operatore facilita la combinazione di diversi chiavi e valori.

Come utilizzare l'operatore o in mongodb

L'operatore OR in MongoDB è rappresentato in formato "$ o". Il "$ o" viene utilizzato per racchiudere le espressioni multiple tra le staffe quadrate su cui viene eseguita l'operazione logica o. Usiamo il $ o l'operatore sulla collezione MongoDB. Creiamo la raccolta MongoDB che è intitolata "Pazienti". La raccolta "pazienti" è inserita con i più documenti su cui eseguiamo $ o operatore. I seguenti documenti sono inseriti in MongoDB invocando il metodo InsertMany ():

db.Pazienti.InsertMany ([

"FirstName": "Jennifer",
"LastName": "Joshua",
"Age": 44,
"PhoneNumber": 43400517,
"Appuntamento": "dentista",
"Addebiti": 2000,
"Test": ["X-Ray", "Blood", "Pulpal"]
,

"FirstName": "Thomas",
"LastName": "Steven",
"Age": 74,
"PhoneNumber": 39034694,
"Data di appuntamento": "Surgeon",
"Addebiti": 6000,
"Test": ["elettivo", "ppt"]
,

"FirstName": "Charles",
"LastName": "Daniel",
"Age": 35,
"PhoneNumber": 65712165,
"Appuntamento": "Medico di cardiologia",
"Addebiti": 2000,
"Test": ["CT", "MRI"]
,

"FirstName": "Michelle",
"LastName": "Paul",
"Age": 51,
"PhoneNumber": 54399288,
"Appuntamento": "Dermatologo",
"Addebiti": 8000,
"Test": ["Skin Biopsies", "Wood Light", "Skin rasting"]
,

"FirstName": "Andrew",
"LastName": "Jerry",
"Age": 69,
"PhoneNumber": 6108100,
"Appuntamento": "Medico di cardiologia",
"Addebiti": 7000,
"Test": ["ECG", "Glucosio nel sangue", "Ultrasound"]

])

L'output dei documenti precedentemente inseriti riconoscono "true" e forniscono i valori "inseriti" per ciascun documento.

Esempio 1: MongoDB $ o operatore per abbinare i documenti

La query di base del MongoDB $ o dell'operatore è implementata qui che dimostra il funzionamento di questo operatore in MongoDB. Qui, definiamo una query con il metodo find (). Il metodo find () è ulteriormente specificato con $ o operatore. Il $ o l'operatore prende due campi, "appuntamento" e "addebiti", che sono assegnati con i valori. Il $ o l'operatore corrisponde al valore del campo e recupera solo quei documenti i cui valori sono abbinati ai valori del campo. La struttura di query di $ o operatore è fornita nel seguente:

db.Pazienti.find ($ o: [appuntamento: "dermatologo",
Cariche: 7000]).bello()

Prendiamo i documenti il ​​cui "appuntamento" è con "dermatologo" e le cui "accuse" sono "7000". Il $ o l'operatore trova risultati veri da entrambi i valori di campo e restituisce i documenti abbinati nell'output.

Esempio 2: MongoDB $ o operatore per abbinare i documenti inesistenti

Nella precedente domanda di $ o operatore, abbiamo recuperato i documenti abbinati. Ora, recuperiamo il documento inesistente dalla raccolta "paziente". La seguente query $ o operatore prende il documento il cui "primo nome" è "Charles" e "appuntamento" è con il "medico". L'operatore $ o corrisponde a questi valori di campo all'interno della raccolta di "pazienti" e genera i risultati dopo la corrispondenza.

db.Pazienti.find ($ o: ["firstname": "Charles", "appuntamento": "medico"]).bello()

L'operatore $ o ha un vero risultato e l'altro ha un risultato falso. Mentre specifichiamo "appuntamento" con il valore "medico" che non corrisponde a nessuno dei documenti nella raccolta "paziente". Ecco perché, l'operatore $ o restituisce solo il documento del campo abbinato che è "paziente" come output.

Esempio 3: MongoDB $ o operatore con più argomenti

Abbiamo fornito due argomenti nelle precedenti query $ o operatore. Qui, passiamo più di due argomenti come espressione di $ o operatore. Recuperiamo il documento che corrisponde a uno qualsiasi dei valori di campo "età". Il requisito di $ o dell'operatore è lo stesso per i molteplici argomenti secondo cui una delle espressioni dovrebbe essere vera. La query per più argomenti in $ o operatore è data come segue:

db.Pazienti.find ("appuntamento": "medico di cardiologia", $ o: ["age": 20, "age": 35, "age": 69])

Lì, abbiamo due risultati abbinati ottenuti da $ o operatore. I valori di "età" che sono "35" e "69" vengono confrontati con i documenti "pazienti" ottenuti dall'operatore $ o vengono visualizzati sulla shell.

Esempio 4: MongoDB $ o operatore con aggregazione

Il metodo aggregato in MongoDB combina i record in una raccolta. Pertanto, possono essere utilizzati per diverse operazioni. Eseguiamo il $ o l'operatore nel metodo di aggregazione che valuta una o più espressioni e restituisce vero se qualcuno di essi valuta a True. Altrimenti, l'affermazione è considerata falsa.

Facciamo la query dell'operatore $ o di aggregazione in cui invochiamo per la prima volta il metodo aggregato () che quindi distribuisce $ corrispondenza e il progetto $ che è specificato con il valore _id da abbinare. Quindi, impostiamo il campo "Age" con il valore di "1" perché vogliamo solo generare questo campo da tutti i documenti. Successivamente, definiamo l'attributo "Risultati" che ha l'operazione $ o. Il $ o l'operatore prende la dichiarazione condizionale di $ gt. L'espressione "$ gt: [" $ age ", 69]" dà l'età il cui valore è maggiore di "69". I risultati per questa espressione vengono passati a $ o operatore e l'operatore $ o restituisce il documento che soddisfa la condizione specificata.

db.Pazienti.aggregato(
[
$ match: _id: objectId ("6391c61a4c91e007fb4f0228"),
$ Progetto:
_id: objectId ("6391c61a4c91e007fb4f0227"),
Età: 1,
Risultato: $ o: [
$ gt: ["$ age", 69]
]


"
)

L '"età" che è maggiore di "69" è "74" che viene visualizzata nella shell di output insieme ai "risultati" che ha il valore "vero".

Esempio 5: MongoDB $ o operatore invoca le condizioni

Il $ o l'operatore di MongoDB è un operatore logico. Possiamo utilizzare questo operatore logico con l'operatore condizionale. Il $ o l'operatore restituisce i risultati quando le condizioni sono soddisfatte. Inoltre, possiamo invocare più di una condizione nel $ o dell'operatore da cui si deve essere veri. Qui, abbiamo una query di $ o operatore specificato con due condizioni diverse. La prima condizione è "cariche: $ lt: 6000" che restituisce il documento inferiore al valore "cariche" di "6000". La condizione addebiti: "$ gt: 7000" ottiene il documento che è maggiore del valore "addebiti" di "7000".

Il $ o l'operatore fornisce il documento abbinato quando queste condizioni sono soddisfatte. Quindi, specifichiamo i nomi dei campi che vengono mostrati solo quando l'operatore $ o l'operatore fornisce il documento abbinato.

db.Pazienti.Trovare(
$ o: [
Charges: $ lt: 6000,
Charges: $ gt: 7000
"
,
Primo nome: 1,
Accuse: 1
)

L'output visualizza solo i campi "firstname" e "cariche" per i documenti abbinati.

Esempio 6: MongoDB $ o operatore senza argomento

Tutte le query implementate con $ o operatore vengono approvate con il valore dell'argomento. Ora, definiamo la query $ o dell'operatore che non inserisce alcun argomento. Quando viene eseguita l'argomento vuoto $ o la query dell'operatore, valuta i risultati falsi. Diamo una domanda in cui l'operazione $ o viene passata con l'espressione vuota.

db.Pazienti.aggregato(
[
$ match: _id: $ in: [objectid ("6391c61a4c91e007fb4f0228")],
$ Progetto:
_id: objectId ("6391c61a4c91e007fb4f0227"),
Risultato: $ o: []

"
)

Come risultato del $ o dell'operatore viene fornito con un argomento vuoto, i risultati indicano un valore falso.

Esempio 7: MongoDB $ o operatore corrisponde ai valori dell'array

Inseriamo l'array "test" nei documenti che hanno valori diversi. Usiamo quell'array per $ o operatore per esaminare i risultati. L'operatore $ o nella seguente query è invocato all'interno del metodo find (). L'operatore $ o $ prende l'array "test" come espressione. L'array "test" utilizza l'operatore $ in per identificare i documenti i cui valori di campo corrispondono ai valori "MRI" e "CT" nell'array.

db.Pazienti.find ($ o: [test: $ in: ["MRI", "ct"]]).bello()

Un documento viene visualizzato sulla shell quando viene eseguito l'operatore $ o query che mostra che il documento recuperato contiene i valori dell'array specificato.

Conclusione

Questo articolo di MongoDB illustra l'uso di una query MongoDB $ o dell'operatore per eseguire le operazioni logiche o su un array che include due o più espressioni e per recuperare i documenti che corrispondono almeno a una delle espressioni. L'operatore $ o viene interrogato nella shell MongoDB per eseguire operazioni diverse. L'operatore $ o viene utilizzato negli operatori condizionali come espressione e restituisce i documenti in base alle dichiarazioni condizionali.