aggregation mongodb
En oversigt over aggregering i MongoDB:
Godkendelse i MongoDB blev forklaret detaljeret i vores tidligere tutorial i dette Detaljeret MongoDB træningsserie .
I denne vejledning lærer vi om Aggregation i MongoDB.
Med enkle ord betyder aggregering at kombinere forskellige informationsressourcer og give den mest autentiske post. I MongoDB er det processen at validere oplysninger fra en anden samling og til gengæld give en enkelt post.
Forskellige operationer udføres på de indsamlede data for kun at udtrække de gyldige oplysninger.
I MongoDB er tre typer aggregering tilgængelige som vist nedenfor:
- Aggregationsrørledning
- Kortreduktion
- Aggregation til enkelt formål
Hvad du vil lære:
Aggregationsrørledning
Aggregation Framework i MongoDB er udviklet på konceptet med databehandlingsrørledninger. I denne pipeline anvendes et sæt forskellige funktioner på et dokument, der indtastes i pipelinen for at samle det endelige resultat.
Grundlæggende udføres to operationer på ethvert dokument inden for rørledningen. For det første filtreres posterne ligesom hvordan forespørgsler udføres, og i anden fase ændrer dokumentets transformation tilfældigt sin type til outputformål.
På den anden side bruges pipeline-operationer også til sortering, gruppering, fletning og sammenlægning af arrays og arrays af dokumentet. På en eller anden måde kan rørledninger også bruges til at opsummere indholdet eller til at beregne gennemsnittet og sammenkædningen af posten.
Kode
hvordan man åbner en bin-fil på pc
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
Kortreduktion
MongoDB leverer også funktionen Kortreduktion til aggregeringsformål. Generelt er der to faser af Map Reduce. I den første fase behandles hvert dokument og udsender en fælles og overflødig del af dokumentet for at videregive en unik post til den næste fase.
I anden fase samles alle de unikke dele og samles for at producere et enkelt resultat. Map Reduce giver også sortering, filtrering og dokumentændring.
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
bedste app til planlægning af Instagram-indlæg
Figur 5: I Robo 3T
Figur 6
Aggregation til enkelt formål
I aggregeringen til et enkelt formål anvendes kun et filter til at beregne resultatet. I enkle ord, hvis vi er nødt til at samle en hel samling baseret på et filter, så er vi nødt til at bruge aggregeringsoperationer til ét formål.
I MongoDB har vi tre slags aggregeringsoperationer til en enkelt filtrering:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Alle ovenstående operationer bruges til aggregering til ét formål. Disse operationer giver en simpel adgangskontrol på de almindelige sammenlægningsprocesser. Disse operationer giver ikke omfattende filtrering og sortering ligesom aggregeringsrørledning og kortreduktion.
Kode
db.orders.distinct('cust_id')
Figur 7: I Mongo Shell
Figur 8: I Robo 3T
Figur 9
Konklusion
Aggregering er processen med at indsamle information for at give det gennemsnitlige resultat. Det bruges også til analytiske formål. I denne vejledning har vi lært om de tre typer aggregering, der er tilgængelige i MongoDB til at behandle information.
MongoDB giver os også metoden til kortreduktion, som bruges til at samle enorme oplysninger. Map Reduce bruges mest til store data. Alle disse aggregeringsmetoder anvendes ud fra betingelserne for optegnelserne og de resulterende værdier.
I vores kommende vejledning lærer vi detaljeret om projektion i MongoDB.
PREV-vejledning | NÆSTE vejledning