aggregation mongodb
Pregled agregacije u MongoDB-u:
Autentifikacija u MongoDB-u je detaljno objašnjeno u našem prethodnom vodiču u ovome Detaljna MongoDB serija treninga .
U ovom uputstvu naučit ćemo o agregaciji u MongoDB-u.
Jednostavnim riječima, agregacija znači kombinirati različite izvore informacija i pružiti najautentičniji zapis. U MongoDB-u je postupak provjere valjanosti podataka iz druge zbirke i zauzvrat pruža jedan zapis.
Na prikupljenim podacima izvode se razne operacije kako bi se izvadile samo valjane informacije.
U MongoDB-u su dostupne tri vrste agregacije, kao što je prikazano u nastavku:
- Cjevovod za agregaciju
- Karta smanji
- Agregacija za jednu svrhu
Što ćete naučiti:
Cjevovod za agregaciju
Okvir agregacije u MongoDB-u razvijen je na konceptu cjevovoda za obradu podataka. U ovom se cjevovodu skup različitih funkcija primjenjuje na dokument koji se unosi u cjevovod za prikupljanje konačnog rezultata.
U osnovi se izvode dvije operacije na bilo kojem dokumentu unutar cjevovoda. Prvo, zapisi se filtriraju baš kao što se izvode upiti, au drugoj fazi se pretvara da dokument mijenja vrstu za izlaznu svrhu.
S druge strane, operacije cjevovoda također se koriste za sortiranje, grupiranje, spajanje i agregiranje nizova i nizova dokumenta. Cjevovodi se na neki način mogu koristiti i za sažimanje sadržaja ili za izračunavanje prosjeka i spajanja zapisa.
Kodirati
što dbms radi na računalu
db.orders.aggregate([{$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}])
Slika 1: U školjci Mongo
Slika 2: U Robo 3T
Slika 3
Karta smanji
MongoDB također nudi značajku Map Reduce za svrhe agregiranja. Općenito postoje dvije faze Map Reducea. U prvoj fazi svaki se dokument obrađuje i emitira zajednički i suvišni dio dokumenta kako bi prošao jedinstveni zapis za sljedeću fazu.
U drugoj fazi, svi jedinstveni dijelovi okupljaju se i agregiraju dajući jedan rezultat. Map Reduce također nudi sortiranje, filtriranje i izmjenu dokumenta.
Kodirati
db.orders.mapReduce(function(){emit(this.cust_id,this.amount);}, function(key,values){return Array.sum(values)},{query:{status:'A'},out: 'order_totals'}).find()
Slika 4: U školjci Mongo
Slika 5: U Robo 3T
Slika 6
Agregacija za jednu svrhu
U jedinstvenoj agregaciji namjena, samo se jedan filtar primjenjuje za izračunavanje rezultata. Jednostavnim riječima, ako moramo agregirati cijelu kolekciju na temelju jednog filtra, tada moramo koristiti jednonamjenske operacije agregiranja.
U MongoDB-u imamo tri vrste operacija agregiranja za jednu filtraciju:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Sve gore navedene radnje koriste se za jednonamjensko agregiranje. Te operacije pružaju jednostavnu kontrolu pristupa uobičajenim procesima agregiranja. Ove operacije neće pružiti opsežno filtriranje i sortiranje baš kao cjevovod za agregaciju i Map Reduce.
Kodirati
db.orders.distinct('cust_id')
Slika 7: U školjci Mongo
Slika 8: U Robo 3T
Slika 9
kako stvoriti niz nizova u javi
Zaključak
Agregacija je postupak prikupljanja podataka kako bi se dobio prosječan rezultat. Također se koristi u analitičke svrhe. U ovom uputstvu naučili smo o tri vrste agregacije koje su dostupne u MongoDB-u za obradu informacija.
MongoDB nam također nudi metodu smanjenja karte koja se koristi za prikupljanje ogromnih podataka. Map Reduce uglavnom se koristi za velike podatke. Sve se ove metodologije agregiranja koriste na temelju stanja zapisa i rezultirajućih vrijednosti.
U našem nadolazećem vodiču detaljno ćemo naučiti o Projekciji u MongoDB-u.
Preporučena literatura
- Autentifikacija korisnika u MongoDB
- MongoDB projekcija s primjerom
- 20+ MongoDB lekcija za početnike: besplatni tečaj MongoDB
- MongoDB Stvori sigurnosnu kopiju baze podataka
- Što je MongoDB replikacija
- MongoDB Vodič za izradu baze podataka
- MongoDB Vodič za sjenčanje s primjerom
- MongoDB regularni izraz $ regex s primjerom