Hvordan du bruker $ all operatør i mongoDB

Hvordan du bruker $ all operatør i mongoDB
MongoDB er en NoSQL -database som gir omfattende støtte fra operatørklasser for å hjelpe til med å hente data. De $ alle Operatøren faller inn under kategorien en matriseoperatørklasse. Som navnet på $ alle (Alle operatører i MongoDB) indikerer at det brukes til å få dokumentet fra en databasesamling hvis det samsvarer med alle verdiene i et matrisefelt. Dessuten $ alle Operatøren gir også støtte for å matche nestede matriser hvis de er til stede i noe felt.

I denne artikkelen er det gitt en kort innsikt i bruken av $ All -operatøren i konteksten i MongoDB.

Hvordan $ all operatør fungerer i MongoDB

Som diskutert ovenfor, ved hjelp av $ alle operatører; Man kan hente dokumenter basert på matrisefelt.

For bedre forståelser, la oss se på syntaksen til $ all operatør:

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

Denne operatøren søker etter de spesifiserte verdiene og ethvert dokument som har et felt med eksakte verdier, blir hentet. Det blir imidlertid lagt merke til det $ alle vil bare fungere hvis alle verdiene samsvarer med verdiene til et matrisefelt i et dokument. Arbeidsmekanismen til $ alle forholder seg til $og (logisk operatør i MongoDB); Begge operatørene ser etter eksakte kamper. Men $og operatør kan brukes med flere datatyper mens $ alle er bare spesifikk for å array datatypefelt.

Hvordan $ all operatør fungerer i MongoDB

I denne guiden vil det bli brukt etter MongoDB -forekomster:

  • MongoDB -database: MongoDB -databasen som brukes i denne guiden, er navngitt som "Linuxhint
  • Samling: Vi har assosiert "prosjekter”Samling med“Linuxhint”Database,

Følgende dokumenter er bosatt i “prosjekter”Samling:

> DB.prosjekter.finne().ganske()

Eksempel 1: Grunnleggende bruk av $ all operatør

Dette eksemplet demonstrerer den grunnleggende bruken av $ alle operatører; For eksempel vil kommandoen nevnt nedenfor se etter eksakte samsvar med arrayverdier i "ledere" felt; Bare disse dokumentene vises som har lederens navn “Mike”Og“Sam“:

> DB.prosjekter.Finn (ledere: $ alle: ["Mike", "Sam"]).ganske()

Eksempel 2: Bruke $ All -operatør med nestede matriser

Hvis dokumentet inneholder nestede matriser som i vårt tilfelle “maskinvare”Prosjektet inneholder et nestet utvalg av ledere, vi kan få dokumentet ved å spesifisere reirgruppen i $ All Operator. Den nedenfor nevnte kommandoen vil hente dokumentet som har ledere “Alen“,“Sam”Og“Elon“:

> DB.prosjekter.Finn (ledere: $ alle: [["Alen", "Sam"], "Elon"]).ganske()

Det blir lagt merke til at hvis du bare vil bruke en nestet del av matrisen; Du kan også gjøre det, og følgende kommando vil hjelpe deg i denne forbindelse:

> DB.prosjekter.Finn (ledere: $ alle: [["Alen", "Sam"]]).ganske()

Eksempel 3: Bruke $ all operatør for å matche en verdi

Bortsett fra å håndtere matriser, kan bruk av $ alle operatører utvides for å matche verdiene i dokumentet. I vårt tilfelle vil kommandoen nevnt nedenfor få de dokumentene som har “koste”Verdi tilsvarer“5000“:

> DB.prosjekter.finn (kostnad: $ alle: [5000]).ganske()

Eller man kan si at kommandoen skrevet nedenfor også vil gi deg det samme resultatet:

> DB.prosjekter.finn (kostnad: 5000).ganske()
> DB.min samling.finne().ganske()

Konklusjon

MongoDB gir en omfattende liste over operatører som brukes til å hente de nødvendige dokumentene fra samlingen av en hvilken som helst Mongo -database. I denne artikkelen diskuteres en matrise tilknyttet operatør som heter $ All kort i MongoDB -konteksten. Denne operatøren kan brukes til å matche matriseverdiene i et felt og hente det relevante dokumentet. Annet enn arrayverdier gir $ alle også støtte for å hente dokumentet ved å matche enhver verdi (annet enn en matrise).