aggregation mongodb
En översikt över aggregering i MongoDB:
Autentisering i MongoDB förklarades i detalj i vår tidigare handledning i detta Detaljerad MongoDB-träningsserie .
I den här handledningen lär vi oss om aggregering i MongoDB.
Med enkla ord betyder aggregering att kombinera olika informationsresurser och ge den mest autentiska posten. I MongoDB är det processen att validera information från en annan samling och i gengäld tillhandahålla en enda post.
Olika operationer utförs på insamlad data för att endast extrahera giltig information.
I MongoDB finns tre typer av aggregering som visas nedan:
- Aggregeringsrörledning
- Karta minska
- Enskilt ändamål
Vad du kommer att lära dig:
Aggregeringsrörledning
Aggregation Framework i MongoDB är utvecklat med begreppet databehandlingsrörledningar. I den här rörledningen tillämpas en uppsättning olika funktioner på ett dokument som matas in i rörledningen för att sammanställa slutresultatet.
I grund och botten utförs två operationer på vilket dokument som helst i rörledningen. Först filtreras posterna precis som hur frågor utförs och i den andra fasen ändras omvandlingen av dokumentet dess typ för utdataändamål.
Å andra sidan används rörledningsoperationer också för sortering, gruppering, sammanslagning och sammanställning av matriser och matriser i dokumentet. På något sätt kan rörledningar också användas för att sammanfatta innehållet eller för att beräkna medelvärdet och sammankopplingen av posten.
Koda
skillnad mellan testning av svart låda och testning av vitlåda
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
Karta minska
MongoDB tillhandahåller också funktionen Kartreducera för aggregeringsändamål. Generellt finns det två faser av Map Reduce. I den första fasen behandlas varje dokument och sänder ut en gemensam och redundant del av dokumentet för att skicka en unik post för nästa fas.
I den andra fasen samlas alla unika delar och samlas för att ge ett enda resultat. Map Reduce ger också sortering, filtrering och dokumentändring.
Koda
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
virtual reality-glasögon för xbox 360
Figur 5: I Robo 3T
Figur 6
Enskilt ändamål
I enskildsaggregeringen tillämpas endast ett filter för att beräkna resultatet. Med enkla ord, om vi måste aggregera en hel samling baserat på ett filter, måste vi använda enstaka aggregeringsoperationer.
I MongoDB har vi tre typer av aggregeringsoperationer för en enda filtrering:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Alla ovanstående operationer används för aggregering för ett enda ändamål. Dessa operationer ger en enkel åtkomstkontroll för de vanliga aggregeringsprocesserna. Dessa operationer ger inte omfattande filtrering och sortering precis som aggregeringsrörledning och Map Reduce.
Koda
db.orders.distinct('cust_id')
Figur 7: I Mongo Shell
Figur 8: I Robo 3T
Bild 9
Slutsats
Aggregering är processen att samla in information för att ge det genomsnittliga resultatet. Det används också i analytiska ändamål. I denna handledning har vi lärt oss om de tre typerna av aggregering som finns tillgängliga i MongoDB för att bearbeta information.
MongoDB ger oss också kartreduceringsmetoden, som används för att samla enorm information. Map Reduce används mest för stora data. Alla dessa aggregeringsmetoder används baserat på villkoren för posterna och de resulterande värdena.
I vår kommande handledning kommer vi att lära oss mer om Projektion i MongoDB i detalj.
PREV-handledning | NÄSTA självstudie
Rekommenderad läsning
- Användarautentisering i MongoDB
- MongoDB-projektion med exempel
- 20+ MongoDB-handledning för nybörjare: Gratis MongoDB-kurs
- MongoDB Skapa säkerhetskopia av databas
- Vad är MongoDB-replikering
- MongoDB Skapa databashandledning
- MongoDB Sharding Tutorial med exempel
- MongoDB Regular Expression $ regex med exempel