Hva er aggregering i MongoDB med eksempel

Hva er aggregering i MongoDB med eksempel
Databaseadministrasjonssystemer har noen vanlige operasjoner som også støttes av SQL- og NoSQL -databaser. Aggregeringsoperasjonen er en av dem og støttes av flere relasjonelle og ikke-relasjonelle databaser. MongoDB er en av disse databasene som har støtte fra denne operasjonen. Aggregering er en nøkkeloperasjon i enhver database som lar deg behandle dataregistreringer for å få målrettede resultater. Ved hjelp av aggregering kan brukerne kombinere flere enheter for å danne en enkelt meningsfull enhet ved å gruppere dataene.

Aggregeringsoperasjonene består av flere uttrykk som hjelper til med å gruppere dataene for en meningsfull output. For eksempel kan en bærbar datamaskin, mobiler, dingser kombineres under en enkelt enhet, la oss si Technology_store. Enhetene kombineres når individuelle enheter ikke representerer noe eller ikke har noen mening.

Denne artikkelen gir en dyp innsikt i den samlede metoden og uttrykkene støttet av denne metoden.

Hvordan fungerer den samlede funksjonen i MongoDB

For det første anbefales det for aggregering å forstå den samlede funksjonen; Syntaks for denne funksjonen er gitt nedenfor:

> DB.samling.aggregat (samlet operasjon)

I syntaks, “samling”Og“samlet operasjon”Er brukerdefinert. “samling”Navn kan være hva som helst og“samlet operasjon”Kan opprettes ved å bruke flere samlede uttrykk støttet av MongoDB. Få kjente samlede uttrykk som brukes er listet opp nedenfor:

  • $ sum: Dette uttrykket legger opp verdiene til et bestemt felt i et dokument.
  • $ min: Får minimumsverdien fra tilsvarende verdier i alle dokumenter.
  • $ maks: Fungerer samme som $ min, men det får maksimal verdi.
  • $ avg: Dette uttrykket brukes til å beregne gjennomsnittet av gitte verdier i en samling
  • $ sist: Det returnerer det siste dokumentet fra kildedokumentet
  • $ først: Det brukes til å returnere det første dokumentet fra et kildedokument
  • $ push: Dette uttrykket setter inn verdier til en matrise i resulterende dokument (duplikater kan oppstå mens du bruker $ push)

Hvordan bruke en samlet funksjon i MongoDB

I denne delen har vi gitt noen få eksempler som vil hjelpe deg å forstå arbeidet med aggregering i MongoDB.

Samlingsnavnet som brukes i dette eksemplet er "arbeidere”Og innholdet inne i det vises nedenfor:

> DB.arbeidere.finne().ganske()

Som produksjonen viser, har arbeidere felt: “Navn”, “Betegnelse”, “Avdeling” og "lønn".

Eksempel 1: Bruke $ sumuttrykk

Følgende aggregeringsoperasjon vil gruppere arbeiderne med hensyn til den tilhørende avdelingen og $ sum Uttrykk brukes til å gi et totalt antall arbeidere i hver avdeling:

Som utdataene viser at kommandoen har kategorisert arbeiderne med respekt til tilknyttede avdelinger:

> DB.arbeidere.Aggregate ([$ gruppe: _id: "$ avdeling", total_workers: $ sum: 1])

Du kan gruppere dataene på andre måter også; Som om du vil få antall arbeidere med hensyn til deres betegnelser; Du kan også gjøre det ved å bruke kommandoen under sagt:

Et resultat som dette kan være nyttig for å få antall arbeidere ved forskjellige betegnelser.

> DB.arbeidere.Aggregate ([$ gruppe: _id: "$ betegnelse", total_workers: $ sum: 1])

Eksempel 2: Bruke $ AVG -uttrykk

I dette eksemplet er samlingen den samme som i eksempel 1. Her, $ avg Aggregasjonsuttrykk brukes for å få gjennomsnittslønnen i hver avdeling av arbeidere samling. I vårt tilfelle vil følgende aggregatfunksjon beregne gjennomsnittslønnen til arbeidere i “skriving”Og“video”Avdelinger:

> DB.arbeidere.Aggregate ([$ gruppe: _id: "$ avdeling", gjennomsnitt: $ avg: "$ lønn"])

Eksempel 3: Bruke $ min og $ maks uttrykk

Du kan få minstelønnen ved å spesifisere $ min Uttrykk i samlet metode: Den nedenfor-nevnte kommandoen vil skrive ut minimumslønnen til arbeidere i begge avdelinger:

> DB.arbeidere.Aggregate ([$ gruppe: _id: "$ avdeling", min_salary: $ min: "$ lønn"])

Og kommandoen som er nevnt nedenfor, vil sjekke for den maksimale lønnen til arbeidere ved å gruppere dem “betegnelse”Klok:

Som diskutert tidligere, for beregning av maksimale verdier, $ maks Operasjon brukes:

> DB.arbeidere.Aggregate ([$ gruppe: _id: "$ betegnelse", max_salary: $ max: "$ lønn"])

Eksempel 4: Bruke $ Push Expression

Dette eksemplet forklarer bruken av $ push med den samlede metoden i MongoDB. $ Push -uttrykket returnerer dataene som arrayverdier og brukes til å få betingede resultater på grupperte data. I dette eksemplet bruker vi samling “Tech_store”Og følgende innhold ligger inni det:

> DB.Tech_store.finne()

Samlingen inneholder en liste med få produkter og deres utløpsdatoer. Kommandoen skrevet nedenfor vil utføre følgende handlinger:

  • grupper dataene med hensyn til utløpsåret for hvert produkt.
  • Dokumentene som faller i hvert år, blir presset ved å bruke $ Push -operatøren.
> DB.Tech_store.Aggregate ([$ gruppe: _id: utløp: $ år: "$ utløp", itemStoexpire: $ push: produkt: "$ produkt", kvantitet: "$ qty"]).ganske()

Eksempel 5: Bruke $ første og $ siste uttrykk

Det er to uttrykk til ($ først og $ sist) som kan brukes i den samlede metoden. For utøvelse av disse metodene vil vi bruke en "bærbare datamaskiner”Samling som inneholder følgende dokumenter.

> DB.bærbare datamaskiner.finne()

$ først: $ Første operatør brukes til å skrive ut den siste verdien fra grupperte data. For eksempel vil kommandoen skrevet nedenfor gruppere dataene i henhold til "Produkt”Felt og deretter $ første operatøren viser elementene som skal utløpes fra.

> DB.bærbare datamaskiner.Aggregate ([$ gruppe: _id: "$ produkt", itemStoexpire: $ først: "$ utløp"])).ganske()

$ sist: Ved bruk av $ sist, Du kan sjekke den siste verdien av et hvilket som helst felt i gruppert data. For eksempel vil den nedenfor-nevnte kommandoen gruppere dataene med hensyn til "Produkt”Felt og $ sist Operatør brukes deretter til å få utløpsdatoen (oppstår på slutten) av hvert produkt.

> DB.bærbare datamaskiner.Aggregate ([$ gruppe: _id: "$ produkt", itemStoexpire: $ sist: "$ utløp"])).ganske()

Konklusjon

MongoDB har et bredt spekter av funksjoner tilgjengelig for å utføre spesifikke operasjoner på komplette samlinger eller et spesifikt dokument i en samling. Den samlede funksjonen praktiseres vanligvis for å få det beregnede resultatet av samlingen ved å gruppere dataene for å hente meningsfulle enheter. I dette informative innlegget lærer du det grunnleggende i aggregeringskonseptet i MongoDB og uttrykkene som brukes i aggregering. Til slutt blir noen få aggregeringseksempler utført for å vise implementeringen av den samlede funksjonen i MongoDB etterfulgt av å utøve dens uttrykk også.