aggregation mongodb
Přehled agregace v MongoDB:
Ověřování v MongoDB bylo podrobně vysvětleno v našem předchozím tutoriálu v tomto Podrobná řada školení MongoDB .
V tomto tutoriálu se dozvíme o agregaci v MongoDB.
Jednoduše řečeno, agregace znamená kombinovat různé zdroje informací a poskytnout nejautentičtější záznam. V MongoDB se jedná o proces ověřování informací z jiné kolekce a na oplátku poskytuje jeden záznam.
Se shromážděnými daty se provádějí různé operace, aby se získaly pouze platné informace.
V MongoDB jsou k dispozici tři typy agregace, jak je znázorněno níže:
- Agregační potrubí
- Zmenšit mapu
- Jednoúčelové agregace
Co se naučíte:
Agregační potrubí
Agregační rámec v MongoDB je vyvinut na konceptu potrubí zpracování dat. V tomto kanálu se na dokument, který se zadá do kanálu, použije agregace různých funkcí pro agregaci konečného výsledku.
V zásadě se na libovolném dokumentu v rámci kanálu provádějí dvě operace. Nejprve jsou záznamy filtrovány stejně, jako jsou prováděny dotazy, a ve druhé fázi dojde při transformaci dokumentu ke změně jeho typu pro účely výstupu.
Na druhou stranu se operace kanálu používají také pro třídění, seskupování, slučování a agregaci polí a polí dokumentu. Nějakým způsobem lze také použít potrubí ke shrnutí obsahu nebo k výpočtu průměru a zřetězení záznamu.
Kód
qtp rozhovor otázky a odpovědi pro zkušené
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Obrázek 1: V prostředí Mongo Shell
Obrázek 2: V Robo 3T
Obrázek 3
Zmenšit mapu
MongoDB také poskytuje funkci Map Reduce pro účely agregace. Obecně existují dvě fáze Map Reduce. V první fázi je každý dokument zpracován a vydává společnou a nadbytečnou část dokumentu, aby předal jedinečný záznam pro další fázi.
Ve druhé fázi se všechny jedinečné části spojí a agregují, aby poskytly jediný výsledek. Map Reduce také poskytuje řazení, filtrování a úpravy dokumentů.
Kód
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ázek 4: V prostředí Mongo Shell
Obrázek 5: V Robo 3T
Otázky a odpovědi na rozhovor s testerem qa
Obrázek 6
Jednoúčelové agregace
V jednoúčelové agregaci se k výpočtu výsledku použije pouze jeden filtr. Jednoduše řečeno, pokud musíme agregovat celou kolekci na základě jednoho filtru, musíme použít jednoúčelové agregační operace.
V MongoDB máme tři druhy agregačních operací pro jednu filtraci:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Všechny výše uvedené operace se používají pro jednoúčelovou agregaci. Tyto operace poskytují jednoduchou kontrolu přístupu na základě běžných procesů agregace. Tyto operace nebudou poskytovat rozsáhlou filtraci a třídění, stejně jako agregační potrubí a Map Reduce.
Kód
db.orders.distinct('cust_id')
Obrázek 7: V prostředí Mongo Shell
Obrázek 8: V Robo 3T
Obrázek 9
Závěr
Agregace je proces shromažďování informací, které poskytují průměrný výsledek. Používá se také pro analytické účely. V tomto kurzu jsme se dozvěděli o třech typech agregace, které jsou k dispozici v MongoDB ke zpracování informací.
MongoDB nám také poskytuje metodu zmenšení mapy, která se používá k agregaci obrovských informací. Map Reduce se většinou používá pro velká data. Všechny tyto metodiky agregace se používají na základě stavu záznamů a výsledných hodnot.
V našem nadcházejícím tutoriálu se podrobně seznámíme s Projekcí v MongoDB.
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Ověření uživatele v MongoDB
- Projekce MongoDB s příkladem
- 20+ výuka MongoDB pro začátečníky: bezplatný kurz MongoDB
- MongoDB Vytvořit zálohu databáze
- Co je to MongoDB replikace
- Výukový program pro vytváření databáze MongoDB
- Výukový program MongoDB Sharding s příkladem
- Regulární výraz MongoDB $ regex s příkladem