MongoDB $ eksisterer spørring

MongoDB $ eksisterer spørring

MongoDB $ eksisterer operatør tillater brukeren å skaffe dokumentene fra en samling uavhengig av om et relevant felt er til stede eller ikke. $ Eksisterer operatøren tar bare den boolske parameteren som kan være sann eller falsk. Den spesifiserte sanne verdien til $ eksisterer operatøren returnerer det matchede dokumentet som inkluderer det spesifiserte feltet, selv der feltverdien er null. På den annen side returneres dokumentene som ikke inkluderer det spesifiserte feltet når verdien av $ eksisterer verdien er satt til FALSE.

Hvordan eksisterer operatøren i MongoDB?

$ Eksisterer operatøren brukes i det spesifiserte feltnavnet. Feltnavnet er definert i Find () -metoden. Deretter settes det spesifiserte feltnavnet ytterligere som uttrykk for $ eksisterer operatøren. Følgende syntaks er gitt for bedre forståelse:

db.samling.finn (feltnavn: $ eksisterer: boolean_value).

Før du begynner bruken av $ eksisterer operatøren, er det påkrevd å etablere MongoDB -samlingen og hente innholdet i den samlingen, som vil bli brukt av $ eksisterer operatøren. Vi bruker "kunde" -samlingen for $ eksisterer operatøren og setter inn følgende dokument i den samlingen ved hjelp av InsertMany () -metoden.

db.Kunde.INSERTMANY ([

"Ordername": "Storybooks",
"Antall": 3,
"Pris": 600,
"Dato": "24-11-2022",
"Detaljer": ["Navn": "Kyle", "Age": 21, "Telefon": 032367]
,

"Ordername": "Perfume",
"Antall": 1,
"Pris": 450,
"Dato": "24-11-2022",
"Detaljer": ["Navn": "Richard", "Age": 28, "Telefon": "8237818"]
,

"Ordername": "Se",
"Antall": 1,
"Pris": 750,
"Detaljer": ["Navn": "Addy", "Age": 34, "Telefon": 419230],
,

"Ordername": "armbånd",
"Antall": 2,
"Pris": 590,
"Dato": "2-11-2022",
"Detaljer": ["Navn": "Emily", "Age": 19, "Telefon": 2304949]

])

Når dokumentet settes riktig inn i samlingen, får vi følgende utdata fra MongoDB -skallet:

Eksempel 1: Å bruke MongoDB $ eksisterer operatør med ekte verdi

Når $ eksisterer operatøren av MongoDB er tildelt med den "sanne" boolske verdien, returnerer den alle dokumentene til den spesifiserte samlingen med det feltnavnet. Der har vi en spørring ved hjelp av $ Eksisterer operatøren der vi først spesifiserer feltnavnet "Ordernavn". "Ordername" -feltet er satt med $ eksisterer: True -uttrykk der operatøren på $ går satt sammen med den "sanne" verdien. Operatøren på $.

db.Kunde.finn ("Ordername": $ eksisterer: true)).ganske();

Feltet "Ordernavn" eksisterer i alle dokumentene til "Kunde" -samlingen som returneres etter å ha utført spørringen.

Eksempel 2: Å bruke MongoDB $ eksisterer operatør med en falsk verdi

Når $ eksisterer operatøren er tilknyttet den "falske" verdien, returnerer den dokumentene som inneholder det gitte feltet. Nå implementerer vi spørringen til $ eksisterer operatøren med den falske verdien. Vi spesifiserer først "dato" -feltet. Deretter setter vi $ Eksistens operatør som er lik den "falske" verdien. $ Eksisterer operatøren søker etter det dokumentet der "dato" -feltet ikke er inkludert da den "falske" verdien er satt mot det.

db.Kunde.finn ("date": $ eksisterer: falsk).ganske();

Når spørringen til $ eksisterer operatøren kjøres på skallet, returnerer det ett dokument med feltet "Dato" -dato ".

Eksempel 3: Å bruke MongoDB $ eksisterer operatør med betinget operatør

Dette er et eksempel på operatøren $ som er ansatt med "GT" sammenligningsoperatøren. Spørringen gis der vi har et "pris" feltnavn som skal identifiseres av $ eksisterer operatøren, og de "pris" feltverdier blir bare returnert i henhold til sammenligningserklæringen. "Pris" -feltet er satt med det doble uttrykket. Det første uttrykket er “$ eksisterer: sant” for å returnere dokumentet som er tilknyttet "pris" -feltet. Deretter er det andre uttrykket “$ GT: 550” som indikerer de hentede dokumentene hvis prisverdi er større enn "550" -verdien.

db.Kunde.Finn (Pris: $ eksisterer: True, $ GT: 550).ganske()

Dokumentene hentes som en produksjon som inneholder "pris" -feltet og "pris" -verdiene er større enn "550".

Eksempel 4: Å bruke MongoDB $ eksisterer operatør for flere felt

Når vi bruker $ eksisterer operatøren for at enkeltfeltet skal identifiseres, bruker vi operatøren $ her for flere felt som skal hentes fra dokumentet. Inne i følgende spør. "Detaljer" -feltet er også definert som også er utstyrt med $ eksisterer operatøren, og verdien mot det er også sann. Merk at vi angir $ eksisterer operatøren separat for hvert spesifisert felt.

db.Kunde.finn (
Antall: $ eksisterer: true,
Detaljer: $ eksisterer: true
)

$ Eksisterer operatøren returnerer disse dokumentene i følgende utdata som inneholder "QTY" og "detaljer" -feltene.

Eksempel 5: Bruke MongoDB $ eksisterer operatør for matrisefeltet

Her bestemmer vi om et felt eksisterer i den gitte rekke dokumentet eller ikke. Legg merke til følgende spørsmål. Vi definerer array -feltet som “Detaljer.Alder "der" detaljer "er rekke dokumentet og feltelementet er" alderen ". $ Eksisterer operatøren blir deretter implementert med den "sanne" boolske verdien som finner eksistensen av "alder" -feltet fra "detaljer" -arrayen til dokumentet.

db.Kunde.finn ("detaljer.Alder ": $ eksisterer: True)

Utgangen viser dokumentene som inkluderer "alder" -array -feltet.

Eksempel 6: Bruke MongoDB $ eksisterer operatør med $ NIN -operatøren

Vi bruker $ Eksistens metode med sammenligningsoperatøren i det tidligere eksemplet. Vi kan også bruke denne operatøren med en annen operatør akkurat som $ NIN -operatøren. For det første eksisterer $ $ dokumentene avhengig av det gitte feltet. Deretter genererer $ nin dokumentene som ikke inkluderer de gitte verdiene. La oss få følgende spørsmål om $ Eksisterer operatøren sammen med $ NIN -operatøren. Vi gir et "date" -felt der $ eksisterer operatøren brukes med den "sanne" verdien. Deretter blir verdien av "dato" -feltet definert med $ NIN -operatøren. $ Eksisterer operatøren sjekker eksistensen av "dato" -feltet, og $ nin-operatøren ekskluderer dokumentet som blir hentet fra $ eksisterer operatøren hvis verdi er "24-11-2022".

db.Kunde.Finn (Dato: $ eksisterer: True, $ nin: ["24-11-2022"])

Arbeidet med $ eksisterer og $ NIN -operatørene som henter dokumentet fra samlingen er i følgende bilde:

Konklusjon

$ Eksisterer operatøren er veldig nyttig når vi ønsker å finne eksistensen av et bestemt dokument i samlingen vår. Vi kan til og med inkludere det spesifikke dokumentet eller ekskludere det som skal vises i MongoDB -samlingen. Vi ga brukstilfeller av $ eksisterer operatøren for å demonstrere funksjonaliteten til denne operatøren i MongoDB. Vi undersøkte eksistensen av innebygde dokumenter ved bruk av $ Eksisterer operatøren. Videre brukte vi $ Eksister operatøren med sammenligningen og $ NIN -operatørene. Hver av disse operatørene har en annen arbeid med $ eksisterer operatøren.