MongoDB eller operatør

MongoDB eller operatør
Vi har forskjellige logiske spørringsoperatører som er tilgjengelige i MongoDB, og en av dem er $ eller operatøren. MongoDB $ eller operatøren brukes til å implementere en logisk eller operasjon på en matrise som inneholder to eller flere uttrykk og bare hente de dokumentene som samsvarer med et av de spesifiserte uttrykkene i matrisen. $ Eller operatøren brukes til å finne flere utsagn i en enkelt spørring med bare ett samsvarende dokumentkriterium. $ Eller operatøren letter kombinasjonen av flere nøkler og verdier.

Hvordan bruke OR -operatøren i MongoDB

OR -operatøren i MongoDB er representert i “$ eller” -format. “$ Eller” brukes til å omslutte flere uttrykk i de firkantede parentesene som logisk eller operasjon utføres. Vi bruker $ eller operatøren på MongoDB -samlingen. Vi oppretter MongoDB -samlingen som har tittelen “Pasienter”. "Pasienter" -samlingen er satt inn med de flere dokumentene vi utfører $ eller operatøren. Følgende dokumenter settes inn i MongoDB ved å påkalle InsertMany () -metoden:

db.Pasienter.INSERTMANY ([

"FirstName": "Jennifer",
"LastName": "Joshua",
"Alder": 44,
"Phonenumber": 43400517,
"Avtaler": "Tannlege",
"Charge": 2000,
"Test": ["Røntgen", "Blod", "Pulpal"]
,

"FirstName": "Thomas",
"LastName": "Steven",
"Alder": 74,
"Phonenumber": 39034694,
"Avtalerdato": "Kirurg",
"Charge": 6000,
"Test": ["valgfri", "ppt"]
,

"FirstName": "Charles",
"LastName": "Daniel",
"Alder": 35,
"Phonenumber": 65712165,
"Avtaler": "Kardiologiske lege",
"Charge": 2000,
"Test": ["CT", "MR"]
,

"FirstName": "Michelle",
"LastName": "Paul",
"Alder": 51,
"Phonenumber": 54399288,
"Avtaler": "Dermatolog",
"Charge": 8000,
"Test": ["Skin Biopsies", "Wood Light", "Hud Scraping"]
,

"FirstName": "Andrew",
"LastName": "Jerry",
"Alder": 69,
"Phonenumber": 6108100,
"Avtaler": "Kardiologiske lege",
"Charge": 7000,
"Test": ["EKG", "Blodsukker", "Ultralyd"]

])

Utgangen fra de tidligere insertede dokumentene erkjenner “True” og gir “innsatsen” -verdiene for hvert dokument for hvert dokument.

Eksempel 1: MongoDB $ eller operatør for å matche dokumentene

Den grunnleggende spørringen til MongoDB $ eller operatøren implementeres her som demonstrerer arbeidet med denne operatøren i MongoDB. Her definerer vi en spørring med Find () -metoden. Finn () -metoden er ytterligere spesifisert med $ eller operatøren. $ Eller operatøren tar to felt, "avtale" og "gebyrer", som er tildelt med verdiene. $ Eller operatøren samsvarer med feltverdien og henter bare de dokumentene hvis verdier er matchet med feltverdiene. Forespørselsstrukturen til $ eller operatøren er gitt i følgende:

db.Pasienter.finn ($ eller: [avtale: "Dermatolog",
Lader: 7000]).ganske()

Vi henter dokumentene hvis "avtale" er med "hudlege" og hvis "anklager" er "7000". $ Eller operatøren finner sanne resultater fra begge feltverdiene og returnerer de matchede dokumentene i utdataene.

Eksempel 2: MongoDB $ eller operatør for å matche de ikke-eksisterende dokumentene

I forrige spørring av $ eller operatøren hentet vi de matchede dokumentene. Nå henter vi det ikke-eksisterende dokumentet fra "pasient" -samlingen. Følgende $ eller operatør spørring tar dokumentet hvis "første navn" er "Charles" og "avtalen" er med "legen". $ Eller operatøren samsvarer med disse feltverdiene i samlingen “pasienter” og genererer resultatene etter matching.

db.Pasienter.finn ($ eller: ["FirstName": "Charles", "avtale": "lege"]).ganske()

$ Eller operatøren har ett sant resultat, og det andre har et falskt resultat. Når vi spesifiserer "avtalen" med "legen" -verdien som ikke samsvarer med noen av dokumentene i "pasient" -samlingen. Derfor returnerer $ eller operatøren bare dokumentet til det matchede feltet som er "pasient" som utgang.

Eksempel 3: MongoDB $ eller operatør med flere argumenter

Vi ga to argumenter i de forrige spørsmålene om $ eller operatør. Her passerer vi mer enn to argumenter som $ eller operatøruttrykk. Vi henter dokumentet som samsvarer med noen av "alder" -feltverdiene som blir gitt til det. Kravet til $ eller operatør er det samme for de flere argumentene for at et av uttrykkene skal være sant. Spørringen om flere argumenter i $ eller operatøren er gitt som følger:

db.Pasienter.Finn ("avtale": "Cardiology Physician", $ eller: ["Age": 20, "Age": 35, "Age": 69])

Der har vi to matchede resultater som er oppnådd fra $ eller operatøren. "Age" -verdiene som er "35" og "69" blir sammenlignet med "pasienter" -dokumenter som er oppnådd av $ eller operatøren og vises på skallet.

Eksempel 4: MongoDB $ eller operatør med aggregering

Den samlede metoden i MongoDB kombinerer postene til en samling. Derfor kan de brukes til forskjellige operasjoner. Vi utfører $ eller operatøren i aggregeringsmetoden som evaluerer ett eller flere uttrykk og returnerer sant hvis noen av dem evaluerer til sanne. Ellers blir uttalelsen sett på som falsk.

La oss ha $ eller aggregeringsoperatørforespørselen der vi først påkaller Aggregate () -metoden som deretter distribuerer $ Match og $ -prosjektet som er spesifisert med _idverdien som skal matches fra dokumentet. Deretter setter vi "alder" -feltet med verdien av "1" fordi vi bare ønsker at dette feltet skal genereres fra alle dokumentene. Etter det definerer vi “Resultat” -attributtet som har $ eller drift. $ Eller operatøren tar den betingede uttalelsen på $ GT. Uttrykk "$ gt: [" $ alder ", 69]" gir alderen hvis verdi er større enn "69". Resultatene for dette uttrykket sendes til $ eller operatøren, og $ eller operatøren returnerer dokumentet som oppfyller den spesifiserte tilstanden.

db.Pasienter.aggregat (
[
$ match: _id: ObjectId ("6391c61a4c91e007fb4f0228"),
$ prosjekt:
_ID: ObjectID ("6391C61A4C91E007FB4F0227"),
Alder: 1,
Resultat: $ eller: [
$ gt: ["$ alder", 69]
]


]
)

"Alderen" som er større enn "69" er "74" som vises i utgangsskallet sammen med "resultatene" som har den "sanne" verdien.

Eksempel 5: MongoDB $ eller operatør påkaller forholdene

$ Eller operatøren av MongoDB er en logisk operatør. Vi kan bruke denne logiske operatøren med den betingede operatøren. $ Eller operatøren returnerer resultatene når forholdene er fornøyde. I tillegg kan vi påkalle mer enn en tilstand i $ eller operatøren man må være sann. Her har vi en spørring av $ eller operatør som er spesifisert med to forskjellige forhold. Den første tilstanden er “Charges: $ lt: 6000” som returnerer dokumentet som er mindre enn “kostnadene” -verdien på “6000”. Gebyrene: “$ gt: 7000” tilstand får dokumentet som er større enn “gebyrer” -verdien på “7000”.

$ Eller operatøren gir det matchede dokumentet når disse forholdene er fornøyde. Deretter spesifiserer vi navnene på feltene som bare vises når $ eller operatøren gir det matchede dokumentet.

db.Pasienter.finne(
$ eller: [
Gebyrer: $ lt: 6000,
Lader: $ gt: 7000
]
,
FirstName: 1,
Kostnader: 1
)

Utgangen viser bare feltene “FirstName” og “Charges” for de matchede dokumentene.

Eksempel 6: MongoDB $ eller operatør uten argument

Alle de implementerte spørsmålene med $ eller operatøren sendes med argumentverdien. Nå definerer vi $ eller operatørforespørselen som ikke legger inn noe argument. Når det tomme argumentet $ eller operatør -spørringen blir utført, evaluerer det de falske resultatene. Vi gir et spørsmål der $ eller operasjonen sendes med det tomme uttrykket.

db.Pasienter.aggregat (
[
$ match: _id: $ in: [ObjectId ("6391c61a4c91e007fb4f0228")],
$ prosjekt:
_ID: ObjectID ("6391C61A4C91E007FB4F0227"),
Resultat: $ eller: []

]
)

Som et resultat av $ eller operatøren blir gitt med et tomt argument, oppgir resultatene en falsk verdi.

Eksempel 7: MongoDB $ eller operatør samsvarer med matriseverdiene

Vi setter inn "test" -arrayen i dokumentene som har forskjellige verdier. Vi bruker den matrisen for $ eller operatøren for å undersøke resultatene. $ Eller operatøren i følgende spørring blir påkalt i Find () -metoden. $ Eller operatøren tar "test" -arrayen som et uttrykk. "Test" -arrayen bruker $ i operatøren for å identifisere dokumentene hvis feltverdier samsvarer med "MRI" og "CT" -verdiene i matrisen.

db.Pasienter.finn ($ eller: [test: $ in: ["MRI", "ct"]]).ganske()

Ett dokument vises på skallet når $ eller spørringsoperatøren blir utført som viser at det hentede dokumentet inneholder de spesifiserte arrayverdiene.

Konklusjon

Denne MongoDB -artikkelen illustrerer bruken av en MongoDB $ eller operatørforespørsel for å utføre logiske eller operasjoner på en matrise som inkluderer to eller flere uttrykk, samt for å hente dokumentene som samsvarer med minst ett av uttrykkene. $ Eller operatøren spørres i MongoDB -skallet for å utføre forskjellige operasjoner. $ Eller operatøren brukes i betingede operatører som uttrykk og returnerer dokumentene basert på betingede uttalelser.