aggregation mongodb
Prehľad agregácie v MongoDB:
Autentifikácia v MongoDB bol podrobne vysvetlený v našom predchádzajúcom tutoriáli v tomto Podrobná séria tréningov MongoDB .
V tomto výučbe sa dozvieme o agregácii v MongoDB.
Jednoduchými slovami, agregácia znamená spojiť rôzne zdroje informácií a poskytnúť najautentickejší záznam. V MongoDB ide o proces overovania informácií z inej zbierky a na oplátku poskytuje jeden záznam.
So zhromaždenými údajmi sa vykonávajú rôzne operácie, aby sa získali iba platné informácie.
V MongoDB sú k dispozícii tri typy agregácie, ako je uvedené nižšie:
- Agregačný plynovod
- Mapa Zmenšiť
- Jednoúčelová agregácia
Čo sa dozviete:
Agregačný plynovod
Agregačný rámec v MongoDB je vyvinutý na koncepcii potrubí na spracovanie údajov. V tomto kanáli sa na dokument, ktorý sa zadá do kanálu, použije skupina rôznych funkcií na agregáciu konečného výsledku.
V zásade sa s akýmkoľvek dokumentom v potrubí uskutočňujú dve operácie. Najskôr sa záznamy filtrujú rovnako, ako sa vykonávajú dotazy, a v druhej fáze sa transformáciou dokumentu zmení jeho typ na výstupné účely.
Na druhej strane sa operácie potrubia používajú aj na triedenie, zoskupovanie, zlučovanie a agregáciu polí a polí dokumentu. Potrubie sa dá nejako použiť aj na zhrnutie obsahu alebo na výpočet priemeru a zreťazenia záznamu.
Zákonníka
j2ee otázky na pohovor pre starších vývojárov
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Obrázok 1: V Mongo Shell
Obrázok 2: V Robo 3T
Obrázok 3
Mapa Zmenšiť
MongoDB tiež poskytuje funkciu redukcie mapy pre účely agregácie. Spravidla existujú dve fázy zmenšenia mapy. V prvej fáze je každý dokument spracovaný a vydáva spoločnú a nadbytočnú časť dokumentu, aby prešiel ďalší záznam pre ďalšiu fázu.
V druhej fáze sa všetky jedinečné časti spoja a agregujú, aby priniesli jeden výsledok. Map Reduce tiež poskytuje triedenie, filtrovanie a úpravy dokumentov.
java rozhovor otázky a odpovede pre čerstvých
Zákonníka
db.orders.mapReduce(function(){emit(this.cust_id,this.amount);}, function(key,values){return Array.sum(values)},{query:{status:'A'},out: 'order_totals'}).find()
Obrázok 4: V prostredí Mongo Shell
Obrázok 5: V Robo 3T
Obrázok 6
Jednoúčelová agregácia
V agregácii na jeden účel sa na výpočet výsledku použije iba jeden filter. Jednoducho povedané, ak musíme agregovať celú kolekciu na základe jedného filtra, potom musíme použiť jednoúčelové agregačné operácie.
V MongoDB máme tri druhy agregačných operácií pre jednu filtráciu:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Všetky vyššie uvedené operácie sa používajú na jednoúčelovú agregáciu. Tieto operácie poskytujú jednoduchú kontrolu prístupu k bežným procesom agregácie. Tieto operácie nebudú poskytovať rozsiahlu filtráciu a triedenie rovnako ako agregačný plynovod a Map Reduce.
Zákonníka
db.orders.distinct('cust_id')
Obrázok 7: V prostredí Mongo Shell
Obrázok 8: V Robo 3T
Obrázok 9
Záver
Agregácia je proces zhromažďovania informácií na zabezpečenie priemerného výsledku. Používa sa tiež na analytické účely. V tomto tutoriáli sme sa dozvedeli o troch typoch agregácie, ktoré sú k dispozícii v MongoDB na spracovanie informácií.
MongoDB nám poskytuje aj metódu redukcie mapy, ktorá sa používa na agregáciu obrovských informácií. Mapa Reduce sa väčšinou používa pre veľké dáta. Všetky tieto metodiky agregácie sa používajú na základe stavu záznamov a výsledných hodnôt.
V našom pripravovanom výučbe sa podrobne dozvieme o Projekcii v MongoDB.
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Autentifikácia užívateľa v MongoDB
- Projekcia MongoDB s príkladom
- 20+ výučba MongoDB pre začiatočníkov: bezplatný kurz MongoDB
- MongoDB Vytvorenie zálohy databázy
- Čo je to MongoDB replikácia
- Výukový program na vytvorenie databázy MongoDB
- Výukový program zdieľania MongoDB s príkladom
- Regulárny výraz MongoDB $ regex s príkladom