aggregation mongodb
Przegląd agregacji w MongoDB:
Uwierzytelnianie w MongoDB zostało szczegółowo wyjaśnione w naszym poprzednim samouczku w tym Szczegółowa seria szkoleń MongoDB .
W tym samouczku dowiemy się o agregacji w MongoDB.
W prostych słowach agregacja oznacza połączenie różnych zasobów informacji i zapewnienie najbardziej autentycznego zapisu. W MongoDB jest to proces sprawdzania poprawności informacji z innej kolekcji i dostarczania w zamian pojedynczego rekordu.
Na zebranych danych wykonywane są różne operacje w celu wyodrębnienia tylko ważnych informacji.
W MongoDB dostępne są trzy typy agregacji, jak pokazano poniżej:
- Rurociąg agregacji
- Map Reduce
- Agregacja w jednym celu
Czego się nauczysz:
Rurociąg agregacji
Aggregation Framework w MongoDB jest rozwijany w oparciu o koncepcję potoków przetwarzania danych. W tym potoku zestaw różnych funkcji jest stosowany do dokumentu, który jest wprowadzany do potoku w celu zagregowania wyniku końcowego.
Zasadniczo na dowolnym dokumencie w potoku wykonywane są dwie operacje. Po pierwsze, rekordy są filtrowane, podobnie jak w przypadku wykonywania zapytań, aw drugiej fazie transformacja dokumentu zmienia jego typ na cel wyjściowy.
Z drugiej strony operacje potokowe są również wykorzystywane do sortowania, grupowania, łączenia i agregacji tablic i tablic dokumentu. W jakiś sposób potoki można również wykorzystać do podsumowania treści lub obliczenia średniej i konkatenacji rekordów.
Kod
Jaka jest różnica między kontrolą jakości a zapewnieniem jakości
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Rysunek 1: W powłoce Mongo
Rysunek 2: W Robo 3T
Rysunek 3
Map Reduce
MongoDB udostępnia również funkcję Map Reduce do celów agregacji. Ogólnie rzecz biorąc, istnieją dwie fazy zmniejszania mapy. W pierwszej fazie każdy dokument jest przetwarzany i emituje wspólną i nadmiarową część dokumentu, aby przekazać unikalny rekord dla następnej fazy.
W drugiej fazie wszystkie unikalne części łączą się i łączą, tworząc jeden wynik. Map Reduce zapewnia również sortowanie, filtrowanie i modyfikację dokumentów.
Kod
db.orders.mapReduce(function(){emit(this.cust_id,this.amount);}, function(key,values){return Array.sum(values)},{query:{status:'A'},out: 'order_totals'}).find()
Rysunek 4: W powłoce Mongo
Rysunek 5: W Robo 3T
Rysunek 6
Agregacja w jednym celu
W agregacji jednocelowej do obliczenia wyniku stosowany jest tylko jeden filtr. W prostych słowach, jeśli musimy agregować całą kolekcję na podstawie jednego filtru, to musimy użyć jednocelowych operacji agregacji.
W MongoDB mamy trzy rodzaje operacji agregacji dla pojedynczej filtracji:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Wszystkie powyższe operacje służą do agregacji w jednym celu. Operacje te zapewniają prostą kontrolę dostępu do typowych procesów agregacji. Operacje te nie zapewniają rozległej filtracji i sortowania, tak jak potok agregacji i Map Reduce.
jak porównać 2 pliki w unixie
Kod
db.orders.distinct('cust_id')
Rysunek 7: W powłoce Mongo
Rysunek 8: W Robo 3T
Ryc.9
Wniosek
Agregacja to proces gromadzenia informacji w celu uzyskania średniego wyniku. Znajduje również zastosowanie w celach analitycznych. W tym samouczku poznaliśmy trzy typy agregacji, które są dostępne w MongoDB do przetwarzania informacji.
MongoDB udostępnia nam również metodę redukcji map, która służy do agregowania ogromnych informacji. Map Reduce jest najczęściej używane w przypadku dużych zbiorów danych. Wszystkie te metodologie agregacji są stosowane w oparciu o stan rekordów i otrzymane wartości.
W naszym nadchodzącym samouczku szczegółowo dowiemy się o projekcji w MongoDB.
POPRZEDNIA samouczek | NEXT Tutorial
rekomendowane lektury
- Uwierzytelnianie użytkownika w MongoDB
- Projekcja MongoDB z przykładem
- Ponad 20 samouczków MongoDB dla początkujących: bezpłatny kurs MongoDB
- MongoDB Utwórz kopię zapasową bazy danych
- Co to jest replikacja MongoDB
- Samouczek dotyczący tworzenia bazy danych MongoDB
- Samouczek dotyczący fragmentacji bazy danych MongoDB z przykładem
- Wyrażenie regularne $ regex MongoDB z przykładem