Hvordan bruke $ in og $ nin -operatører i MongoDB

Hvordan bruke $ in og $ nin -operatører i MongoDB
MongoDB støtter flere operatører for å hjelpe til med å hente dokumentet fra databasene. Operatørklassene støttet av MongoDB inkluderer sammenligning, logikk, elementoperatører og så videre. $ In (uttales som "i") og $ nin (Ikke i) Operatører i MongoDB tilhører sammenligningsklassen til MongoDB -operatører. Disse operatørene målrettet bare målrettetverdier, og kan filtrere samlingen på grunnlag av eksisterende eller ikke-eksisterende verdier. For eksempel, $ in Operatør søker etter arrayverdier og viser bare de dokumentene som samsvarer med matrisen, mens $ nin Operatøren hjelper til med å vise bare dokumentene som ikke inneholder verdiene (som sendes til $ NIN -operatøren).

I denne artikkelen vil vi gi en detaljert guide til bruk $ in og $ nin Operatører i MongoDB:

Det anbefales å fullføre følgende elementer i forutsetningslisten for å gå videre til anvendelsen av disse operatørene.

Forutsetninger

Denne delen inneholder et sett med komponenter fra MongoDB som er nødvendige for å bli adoptert for å følge denne guiden:

  • MongoDB -database
  • En samling i en database
  • dokumenter i en samling

I dette innlegget vil vi bruke følgende database og en samling for å bruke $ in og $ nin -operatører:

Databasenavn: Linuxhint

Samlingsnavn: Debian

Du bør også sette inn noen få dokumenter i en samling.

Hvordan bruke $ in og $ nin -operatører i MongoDB

Denne artikkelen er delt inn i to deler; Den ene refererer til $ i operatøren, og den andre demonstrerer bruken av $ nin -operatøren.

For det første vil vi sjekke dokumentene som er tilgjengelige i samlingen vår (slik at vi kan utføre handlinger deretter).

Koble til din MongoDB ved å utstede følgende kommando i Ubuntu Terminal: Det blir lagt merke til at denne kommandoen automatisk vil koble deg til Mongo Shell også.

$ sudo mongo linuxhint

Etter det kan du få visning av alle tilgjengelige dokumenter i samlingen din: For eksempel vil følgende kommando bidra til å hente dokumenter som er tilgjengelige i "Debian”Samling:

> DB.Debian.finne().ganske()

Hvordan bruke $ i operatøren i MongoDB

De $ in Operatøren vil se etter matrisen og viser dokumentet som samsvarer med verdien: syntaks for $ in er skrevet nedenfor:

"Felt": $ i: ["Value1", "Value2",…]

Du må spesifisere feltnavnet og verdiene du vil søke etter:

Eksempel 1: Bruke $ inn for å matche en verdi

$ I operatøren kan brukes til å matche en verdi i et felt og vil skrive ut dokumentene som samsvarer med den verdien. For eksempel vil følgende kommando vise alle dokumentene som har "Num“(Felt) tilsvarer å verdi”20“: Siden bare ett dokument inneholder verdi”20“; Dermed er det bare den ene er trykt:

> DB.Debian.finn (num: $ in: [20]).ganske()

Eksempel 2: Bruke $ inn for å matche en matriseverdi (er)

Dessuten kan du også bruke $ i operatøren til å se etter arrayverdier i MongoDB -databasen. I vårt tilfelle vil kommandoen nevnt nedenfor vise dokumentene som har verdier "Mike”Og“Jack”I“Forfattere ” felt:

> DB.Debian.finn (forfattere: $ in: ["mike", "jack"]).ganske()


Eksempel 3: Bruke $ inn for å matche vanlige uttrykk

Operatøren $ kan også brukes til å samsvare med verdiene som er spesifisert av et vanlig uttrykk: Kommandoen nevnt nedenfor vil vise dokumenter som inneholder et felt "Type”Og strengene i feltet starter med en av dem“AB”Eller“CD“:

> DB.Debian.finn (type: $ in: [/^ab/,/^cd/]).ganske()

Hvordan du bruker $ nin operatør i mongodb

$ NIN -operatøren i MongoDB fungerer motsatt til $ i; som $ nin vil vise dokumentet som ikke inneholder den spesifiserte verdien. Syntaksen er likt på $ i og vises nedenfor:

"arkivert": $ nin: ["Value1", "Value2"…]

Eksempel 1: Bruker $ nin for å matche en verdi

Som allerede nevnt, viser ikke $ NIN -operatøren dokumentet som samsvarer med en verdi. Kommandoen nedenfor vil vise dokumentene som ikke inneholder "20”I“Num" felt:

Utgangen nedenfor viser at trykte dokumenter ikke inneholder verdi “20“:

> DB.Debian.finn (num: $ nin: [20]).ganske()

Eksempel 2: Bruke $ nin for å matche en matriseverdi

Følgende kommando vil vise dokumentene som ikke inneholder "Mike”Og“John”I“Forfattere" felt. Ettersom ingen av dokumentene er etterlatt fordi alle dokumenter har enten "Mike”Eller“John”Som forfatter vil det være en tom utgang:

> DB.Debian.finn (forfattere: $ nin: ["Mike", "John"]).ganske()

Eksempel 3: Bruke $ nin til å matche et vanlig uttrykk

Operatøren på $ NIN brukes også til å få dokumentene på grunnlag av vanlige uttrykk; For eksempel i den nedenfor nevnte kommandoen, "Type”Feltet er valgt og $ nin vil skrive ut dokumentene der“Type”Verdien starter ikke med“AB”Eller“CD“:

> DB.Debian.finn (type: $ nin: [/^ab/,/^cd/]).ganske()

Merk: ganske()”Metode som brukes i denne artikkelen er bare for å få utgangen i en strukturert form; du kan bare bruke "finne()”For å få samme resultat, men på en ustrukturert måte.

Konklusjon

Riktig datahåndtering er den primære bekymringen for enhver organisasjon. De må lagre data og hurtig henting av data er å foretrekke når det er nødvendig. Flere databasestyringssystemer gir slik funksjonalitet, og MongoDB er en av dem. I dette innlegget har vi beskrevet bruken av to operatører “$ in”Og“$ nin”Som hjelper til med å hente arrayverdier i en MongoDB -database. Disse operatørene er med på å få de nødvendige dokumentene basert på verdier som er matchet av disse operatørene. Operatøren $ skriver ut dokumentet som inneholder kampen; mens $ nin skriver ut dokumentene som ikke samsvarer med verdien.