Operator MongoDB SAU

Operator Mongodb Sau



Avem diferiți operatori logici de interogare care sunt disponibili în MongoDB, iar unul dintre ei este operatorul $or. Operatorul MongoDB $or este folosit pentru a implementa o operație logică OR pe o matrice care conține două sau mai multe expresii și pentru a prelua doar acele documente care se potrivesc cu oricare dintre expresiile specificate din matrice. Operatorul $or este utilizat pentru a găsi mai multe instrucțiuni într-o singură interogare cu un singur criteriu de potrivire a documentului. Operatorul $or facilitează combinarea mai multor chei și valori.

Cum să utilizați operatorul OR în MongoDB

Operatorul OR din MongoDB este reprezentat în format „$or”. „$sau” este folosit pentru a include mai multe expresii între parantezele pătrate pe care este efectuată operația logică SAU. Folosim operatorul $or pe colecția MongoDB. Creăm colecția MongoDB care se intitulează „Pacienți”. Colecția „Pacienți” este inserată cu multiplele documente pe care efectuăm operatorul $or. Următoarele documente sunt inserate în MongoDB prin invocarea metodei insertMany():

db.Patients.insertMany ( [
{
'Nume' : 'Jennifer' ,
'Numele de familie' : 'Iosua' ,
'Vârstă' : 44 ,
'Număr de telefon' : 43400517 ,
'Programare' : 'Dentist' ,
„Taxări” : 2000 ,
'Test' : [ 'Raze X' , 'Sânge' , 'Pulpal' ]
} ,
{
'Nume' : 'Thomas' ,
'Numele de familie' : 'Steven' ,
'Vârstă' : 74 ,
'Număr de telefon' : 39034694 ,
'Data de intalnire' : 'Chirurg' ,
„Taxări” : 6000 ,
'Test' : [ 'Electiv' , „PPT” ]
} ,
{
'Nume' : 'Charles' ,
'Numele de familie' : 'Daniel' ,
'Vârstă' : 35 ,
'Număr de telefon' : 65712165 ,
'Programare' : „medic cardiologie” ,
„Taxări” : 2000 ,
'Test' : [ 'CT' , 'RMN' ]
} ,
{
'Nume' : 'Michelle' ,
'Numele de familie' : 'Paul' ,
'Vârstă' : 51 ,
'Număr de telefon' : 54399288 ,
'Programare' : 'Dermatolog' ,
„Taxări” : 8000 ,
'Test' : [ „Biopsii de piele” , „Lumina din lemn” , „Răzuire a pielii” ]
} ,

{
'Nume' : 'Andrew' ,
'Numele de familie' : 'Jerry' ,
'Vârstă' : 69 ,
'Număr de telefon' : 6108100 ,
'Programare' : „medic cardiologie” ,
„Taxări” : 7000 ,
'Test' : [ „ECG” , 'Glucoza din sange' , 'Ultrasunete' ]
}
] )

Rezultatele documentelor introduse anterior recunosc „adevărat” și furnizează valorile „insertedIds” pentru fiecare document.









Exemplul 1: Operatorul MongoDB $OR pentru a potrivi documentele

Interogarea de bază a operatorului MongoDB $or este implementată aici, ceea ce demonstrează funcționarea acestui operator în MongoDB. Aici definim o interogare cu metoda find(). Metoda find() este specificată în continuare cu operatorul $or. Operatorul $or preia două câmpuri, „Întâlnire” și „Taxări”, cărora li se atribuie valorile. Operatorul $or se potrivește cu valoarea câmpului și preia numai acele documente ale căror valori sunt potrivite cu valorile câmpului. Structura de interogare a operatorului $or este furnizată în următoarele:



db.Pacienți.găsiți ( { $sau : [ { Programare: 'Dermatolog' } ,
{ Taxe: 7000 } ] } ) .frumos ( )

Preluăm actele a căror „Programă” este la „Dermatolog” și ale căror „Taxe” sunt „7000”. Operatorul $or găsește rezultate adevărate din ambele valori de câmp și returnează documentele potrivite în rezultat.





Exemplul 2: Operatorul MongoDB $OR pentru a potrivi documentele inexistente

În interogarea anterioară a operatorului $or, am preluat documentele potrivite. Acum, recuperăm documentul inexistent din colecția „Pacient”. Următoarea interogare a operatorului $or preia documentul al cărui „Prenume” este „Charles”, iar „Întâlnirea” este la „Medic”. Operatorul $or potrivește aceste valori de câmp din colecția „Pacienți” și generează rezultatele după potrivire.



db.Pacienți.găsiți ( { $sau : [ { 'Nume' : 'Charles' } , { 'Programare' : 'Medic' } ] } ) .frumos ( )

Operatorul $or are un rezultat adevărat, iar celălalt are un rezultat fals. Așa cum specificăm „Programare” cu valoarea „Medic” care nu se potrivește cu niciunul dintre documentele din colecția „Pacient”. De aceea, operatorul $or returnează doar documentul câmpului potrivit care este „Pacient” ca rezultat.

Exemplul 3: Operator MongoDB $OR cu mai multe argumente

Am furnizat două argumente în interogările anterioare ale operatorului $or. Aici, trecem mai mult de două argumente ca expresie operator $or. Preluăm documentul care se potrivește cu oricare dintre valorile câmpului „Vârstă” care îi sunt date. Cerința operatorului $or este aceeași pentru argumentele multiple că una dintre expresii ar trebui să fie adevărată. Interogarea pentru mai multe argumente în operatorul $or este dată după cum urmează:

db.Pacienți.găsiți ( { 'Programare' : „medic cardiologie” , $sau : [ { 'Vârstă' : douăzeci } , { 'Vârstă' : 35 } , { 'Vârstă' : 69 } ] } )

Acolo, avem două rezultate potrivite care sunt obținute de la operatorul $or. Valorile „Vârsta” care sunt „35” și „69” sunt comparate cu documentele „Pacienți” care sunt obținute de operatorul $or și sunt afișate pe shell.

Exemplul 4: Operator MongoDB $OR cu agregare

Metoda agregată din MongoDB combină înregistrările într-o colecție. Prin urmare, ele pot fi utilizate pentru diferite operații. Efectuăm operatorul $or în metoda de agregare care evaluează una sau mai multe expresii și returnează adevărat dacă oricare dintre ele evaluează la adevărat. În caz contrar, afirmația este considerată falsă.

Să avem interogarea operatorului $or agregare unde invocăm mai întâi metoda aggregate() care apoi implementează $match și $project care este specificat cu valoarea _id care urmează să fie potrivită din document. Apoi, setăm câmpul „Vârsta” cu valoarea „1” deoarece dorim ca acest câmp să fie generat doar din toate documentele. După aceea, definim atributul „Rezultate” care are operația $or. Operatorul $or ia instrucțiunea condiționată a lui $gt. Expresia „$gt:[“$Age”, 69]” oferă vârsta a cărei valoare este mai mare decât „69”. Rezultatele pentru această expresie sunt transmise operatorului $or și operatorul $or returnează documentul care îndeplinește condiția specificată.

db.Pacienti.agregat (
[
{ $match : { _id: ObjectId ( „6391c61a4c91e007fb4f0228” ) } } ,
{ $proiect : {
_id: ObjectId ( „6391c61a4c91e007fb4f0227” ) ,
Vârstă: unu ,
Rezultat: { $sau : [
{ $gt : [ ' $Age ' , 69 ] }
] }
}
}
]
)

„Vârsta” care este mai mare decât „69” este „74”, care este afișată în shell-ul de ieșire împreună cu „Rezultate” care are valoarea „adevărată”.

Exemplul 5: Operatorul MongoDB $OR invocă condițiile

Operatorul $or al MongoDB este un operator logic. Putem folosi acest operator logic cu operatorul condiționat. Operatorul $or returnează rezultatele când sunt îndeplinite condițiile. În plus, putem invoca mai mult de o condiție în operatorul $or din care una trebuie să fie adevărată. Aici, avem o interogare de $or operator care este specificată cu două condiții diferite. Prima condiție este „{Taxele:{$lt: 6000}}”, care returnează documentul care este mai mic decât valoarea „Taxări” de „6000”. Condiția {Charges:“$gt: 7000”} primește documentul care este mai mare decât valoarea „Charges” de „7000”.

Operatorul $or oferă documentul potrivit atunci când aceste condiții sunt îndeplinite. Apoi, specificăm numele câmpurilor care sunt afișate numai atunci când operatorul $or oferă documentul potrivit.

db.Pacienți.găsiți ( {
$sau : [
{ Taxe: { $lt : 6000 } } ,
{ Taxe: { $gt : 7000 } }
]
} , {
Nume: unu ,
Taxe: unu
} )

Ieșirea afișează numai câmpurile „Prenumele” și „Taxele” pentru documentele potrivite.

Exemplul 6: Operator MongoDB $OR fără argument

Toate interogările implementate cu operatorul $or sunt transmise cu valoarea argumentului. Acum, definim interogarea operator $or care nu introduce niciun argument. Când se execută argumentul gol $sau interogarea operatorului, evaluează rezultatele false. Oferim o interogare în care operația $or este transmisă cu expresia goală.

db.Pacienti.agregat (
[
{ $match : { _id: { $in : [ ObjectId ( „6391c61a4c91e007fb4f0228” ) ] } } } ,
{ $proiect : {
_id: ObjectId ( „6391c61a4c91e007fb4f0227” ) ,
Rezultat: { $sau : [ ] } }
}
]
)

Ca urmare a faptului că operatorul $or este furnizat cu un argument gol, rezultatele indică o valoare falsă.

Exemplul 7: Operatorul MongoDB $OR se potrivește cu valorile matricei

Inserăm matricea „Test” în documentele care au valori diferite. Folosim acea matrice pentru operatorul $or pentru a examina rezultatele. Operatorul $or din următoarea interogare este invocat în cadrul metodei find(). Operatorul $or ia matricea „Test” ca expresie. Matricea „Test” folosește operatorul $in pentru a identifica documentele ale căror valori de câmp se potrivesc cu valorile „MRI” și „CT” din matrice.

db.Pacienți.găsiți ( { $sau : [ { Test: { $in : [ 'RMN' , 'CT' ] } } ] } ) .frumos ( )

Un document este afișat pe shell atunci când este executat operatorul de interogare $or care arată că documentul preluat conține valorile matricei specificate.

Concluzie

Acest articol MongoDB ilustrează utilizarea unei interogări MongoDB $or operator pentru a executa operațiunile logice SAU pe o matrice care include două sau mai multe expresii, precum și pentru a prelua documentele care se potrivesc cu cel puțin una dintre expresii. Operatorul $or este interogat în shell-ul MongoDB pentru a efectua diferite operații. Operatorul $or este folosit în operatorii condiționali ca expresie și returnează documentele pe baza instrucțiunilor condiționale.