Hvordan bruke der operatøren i MongoDB

Hvordan bruke der operatøren i MongoDB
MongoDB gir et sterkt spørringssystem støttet av flere kommandoer og operatører. Det eksisterer en lang liste over operatører (som $ størrelse, $ hvor, $ gt, $ regex og mange flere) som har utvidet MongoDB -bruk for å oppfylle den grunnleggende funksjonaliteten til en hvilken som helst database. $ Hvor operatøren tilhører evalueringsspørsmålet Operatørklassen og kan utøves for å passere en JavaScript-basert streng eller JavaScript-funksjon. $ Hvor operatøren brukes i MongoDB for å få bare dokumentene som samsvarer med JavaScript -uttrykk.

I dette beskrivende innlegget har vi gitt et innblikk i bruken av $ der operatør i sammenheng med MongoDB.

Hvordan fungerer $ der i MongoDB

Det blir lagt merke til at $ der operatøren brukes sjelden sammenlignet med andre standardoperatører av MongoDB som $ GT, $ LT, $ In og $ nin.

Som nevnt tidligere, $ der operatøren bare jobber for JS-baserte strenger eller dens funksjoner og syntaks for å bruke $ der operatøren er nevnt nedenfor:

$ hvor:

Det observeres at $ der operatøren ikke kan utføres med få standardfunksjoner av mongoDB som db. Operatøren $, sammen med kartreduserende operasjoner i MongoDB, støtter flere JavaScript-funksjoner, og dermed kan de ikke brukes globalt

Hvordan bruke $ hvor i mongodb

Følgende forekomster av MongoDB brukes i denne guiden:

Database: Databasen som brukes her heter “Linuxhint“.

Samlingsnavn: Samlingen som utøves i denne artikkelen heter “karakterer“.

Og dokumentene inneholdt av “karakterer”Samlingen vises nedenfor:

> DB.personale.finne().ganske()

Merk: C1, C2, C3, C4 antas som kurs -ID -er i opsjonen ovenfor.

Eksempel 1: Grunnleggende bruk av $ hvor operatøren

Før du får detaljer, må du huske at de to nøkkelordene, enten "dette”Eller“obj”Brukes til å referere til dokumenter i JS -funksjon eller JS -uttrykk.

Med henvisning til dokumentene i “karakterer”Samling:

Kommando 1: Kommandoen skrevet nedenfor vil søke etter dokumenter og vil bare vise de som har de samme verdiene i forskjellige felt:

Som du kan sjekke at utgangen bare inneholder "en”Dokument der verdier av“C1”Og“C2" kamp.

> DB.karakterer.finn ($ hvor: "dette.C1 == dette.C2 ").ganske()

Kommando 2: Den samme utgangen (som i Kommando 1) kan oppnås ved å utstede kommandoen nedenfor i Mongo Shell. Her, "obj'Nøkkelord brukes i stedet for "dette“.

> DB.karakterer.finn ($ hvor: "obj.C1 "==" obj.C2 ").ganske()

Kommando 3: Du kan også bruke $ der operatøren som vi har utført i kommandoen nedenfor. I følgende kommando vil en funksjon () returnere dokumentene som er oppnådd ved å bruke “obj”Og“dette”Nøkkelord, verdien av“C1”Og“C3" fyrstikker.

> DB.karakterer.finn ($ hvor: funksjon () return (dette.C1 == dette.C3)).ganske()

Kommando 4: Bruken av JS -funksjon () med $ hvor operatøren også kan oppnås ved å bruke "obj”Søkeord i stedet for“dette“. For dette kan du utføre følgende kommando:

> DB.karakterer.finn ($ hvor: funksjon () return obj.C1 == obj.C3).ganske()

Eksempel 2: $ der handlinger uten å bruke det i kommando

Hvis kommandoen din bare utfører applikasjonen av $ der operatøren, kan du bruke kommandoen uten å spesifisere $ der nøkkelordet i kommandoen. Eksempelkommandoen i en situasjon som disse er angitt nedenfor:

> DB.karakterer.finn ("dette.C1 == dette.C2 ").ganske()

Eller "obj”Søkeord kan også brukes i stedet for“dette”I kommandoen ovenfor.

> DB.karakterer.finn ("obj.C1 == obj.C2 ").ganske()

Eksempel 3: Bruke $ hvor med standard MongoDB -operatører

$ Der operatøren kan brukes sammen med flere andre operatører av MongoDB. For eksempel i den nedenfor nevnte kommandoen har vi brukt mindre enn (<) operator with $ hvor operatør. Kommandoen skrevet nedenfor vil se etter betingelser for begge operatørene og deretter ethvert dokument tilfredsstillende heller “==” eller “||”Tilstand vises i utgangen.

> DB.karakterer.finn ("dette.POS1 == dette.Pos2 || Dette.POS1 < this.pos2").pretty()

Det observeres fra å jobbe med $ der operatøren som søker i hoveddelen av dokumenter kan bli tidkrevende med $ hvor operatør fordi MongoDB utfører $ hvor operatør etter en hvilken som helst annen standardoperatør som ble brukt i spørringen.

Konklusjon

MongoDB oppdaterte ofte sine versjoner i det siste, og grunnen var å forbedre ytelsen og effekten av enhver MongoDB -kommando eller metode, eller operatør. I MongoDB, $ der operatøren kan brukes til å matche feltene ved hjelp av JS -uttrykk eller JS -funksjon. I denne detaljerte guiden har vi gitt bruken av $ der operatøren i MongoDB. Etter detaljert forskning og datainnsamling, kom vi til det punktet at alternativene til $ der operatøren skulle foretrekkes, da $ der operatøren søker etter hele samlingen før du gir deg utdataene.