aggregation mongodb
En oversikt over aggregering i MongoDB:
Autentisering i MongoDB ble forklart i detalj i vår forrige opplæring i dette Detaljert MongoDB treningsserie .
I denne opplæringen vil vi lære om Aggregation i MongoDB.
Med enkle ord betyr aggregering å kombinere forskjellige informasjonsressurser og gi den mest autentiske posten. I MongoDB er det prosessen å validere informasjon fra en annen samling og til gjengjeld gi en enkelt post.
Ulike operasjoner utføres på de innsamlede dataene for kun å hente ut gyldig informasjon.
I MongoDB er tre typer aggregering tilgjengelig som vist nedenfor:
- Aggregeringsrørledning
- Kart reduksjon
- Enkeltsammenslåing
Hva du vil lære:
Aggregeringsrørledning
Aggregation Framework i MongoDB er utviklet på konseptet med databehandlingsrørledninger. I denne rørledningen brukes et sett med forskjellige funksjoner på et dokument som legges inn i rørledningen for å samle det endelige resultatet.
I utgangspunktet utføres to operasjoner på ethvert dokument i rørledningen. Først filtreres postene akkurat som hvordan spørringer utføres, og i den andre fasen endrer transformasjonen av dokumentet sin type for utgangsformål.
På den annen side brukes rørledningsoperasjoner også til sortering, gruppering, sammenslåing og aggregering av matriser og matriser av dokumentet. På en eller annen måte kan rørledninger også brukes til å oppsummere innholdet eller beregne gjennomsnittet og sammenkoblingen av posten.
Kode
hvordan åpne en XML-fil i Word
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Figur 1: I Mongo Shell
Figur 2: I Robo 3T
Figur 3
Kart reduksjon
MongoDB tilbyr også Map Reduce-funksjonen for aggregeringsformål. Generelt er det to faser av Map Reduce. I den første fasen behandles hvert dokument og sender ut en felles og overflødig del av dokumentet for å sende en unik post for neste fase.
I den andre fasen samles alle de unike delene og samles for å gi et enkelt resultat. Map Reduce gir også sortering, filtrering og dokumentendring.
hvordan lage et generisk utvalg i java
Kode
db.orders.mapReduce(function(){emit(this.cust_id,this.amount);}, function(key,values){return Array.sum(values)},{query:{status:'A'},out: 'order_totals'}).find()
Figur 4: I Mongo Shell
Figur 5: I Robo 3T
Figur 6
Enkeltsammenslåing
I den samlede formålsaggregasjonen brukes bare ett filter for å beregne resultatet. Med enkle ord, hvis vi må samle en hel samling basert på ett filter, så må vi bruke en-aggregeringsoperasjoner.
I MongoDB har vi tre typer aggregeringsoperasjoner for en enkelt filtrering:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Alle operasjonene ovenfor brukes til samlet formål. Disse operasjonene gir en enkel tilgangskontroll på de vanlige prosessene for aggregering. Disse operasjonene vil ikke gi omfattende filtrering og sortering akkurat som aggregeringsrørledning og Map Reduce.
Kode
db.orders.distinct('cust_id')
Figur 7: I Mongo Shell
Figur 8: I Robo 3T
Figur 9
Konklusjon
Aggregering er prosessen med å samle inn informasjon for å gi gjennomsnittsresultatet. Den brukes også til analytiske formål. I denne opplæringen har vi lært om de tre typer aggregering som er tilgjengelige i MongoDB for å behandle informasjon.
MongoDB gir oss også kartreduksjonsmetoden, som brukes til å samle enorm informasjon. Map Reduce brukes mest til store data. Alle disse aggregeringsmetodikkene brukes basert på tilstanden til postene og de resulterende verdiene.
I vår kommende opplæring vil vi lære om projeksjon i MongoDB i detalj.
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Brukergodkjenning i MongoDB
- MongoDB-projeksjon med eksempel
- 20+ MongoDB-opplæring for nybegynnere: Gratis MongoDB-kurs
- MongoDB Lag sikkerhetskopi av database
- Hva er MongoDB-replikering
- MongoDB Opprette databaseopplæring
- MongoDB Sharding Tutorial med eksempel
- MongoDB Regular Expression $ regex med eksempel