aggregation mongodb
Преглед агрегације у МонгоДБ:
Аутентификација у МонгоДБ је детаљно објашњено у нашем претходном упутству у овоме Детаљна МонгоДБ серија обуке .
У овом упутству ћемо научити о агрегацији у МонгоДБ-у.
Једноставним речима, агрегација значи комбиновање различитих извора информација и пружање најаутентичнијих записа. У МонгоДБ-у је поступак валидације информација из друге колекције и заузврат обезбеђивање једног записа.
На прикупљеним подацима врше се разне операције како би се извадиле само важеће информације.
У МонгоДБ-у су доступне три врсте агрегације, као што је приказано доле:
- Цевовод за агрегацију
- Карта смањити
- Агрегација за једну намену
Шта ћете научити:
Цевовод за агрегацију
Оквир за агрегацију у МонгоДБ развијен је на концепту цевовода за обраду података. У овом цевоводу се низ различитих функција примењује на документ који се уноси у цевовод за агрегирање коначног резултата.
У основи се изводе две операције на било ком документу у цевоводу. Прво, записи се филтрирају баш као што се изводе упити, ау другој фази се догађа да трансформација документа мења свој тип у сврху излаза.
С друге стране, операције цевовода се такође користе за сортирање, груписање, спајање и агрегирање низова и низова документа. Цевоводи се такође могу користити за сумирање садржаја или за израчунавање просека и спајање записа.
Код
која врста теста се користи за проверу да ли сви програми у апликацији правилно функционишу?
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Слика 1: У шкољци Монго
Слика 2: У Робо 3Т
Слика 3
Карта смањити
МонгоДБ такође нуди функцију Мап Редуце за сврхе агрегације. Генерално, постоје две фазе Мап Редуце. У првој фази сваки документ се обрађује и емитује заједнички и сувишни део документа како би прошао јединствени запис за следећу фазу.
У другој фази, сви јединствени делови се окупљају и агрегирају дајући један резултат. Мап Редуце такође омогућава сортирање, филтрирање и модификовање докумената.
Код
db.orders.mapReduce(function(){emit(this.cust_id,this.amount);}, function(key,values){return Array.sum(values)},{query:{status:'A'},out: 'order_totals'}).find()
Слика 4: У шкољци Монго
Слика 5: У Робо 3Т
Слика 6
како уклонити вредност из низа јава
Агрегација за једну намену
У агрегацији са једном наменом, само један филтер се примењује за израчунавање резултата. Једноставним речима, ако морамо да агрегирамо целу колекцију на основу једног филтера, онда морамо да користимо једнонаменске операције агрегације.
У МонгоДБ имамо три врсте операција агрегирања за једну филтрацију:
- дб.цоллецтион.естиматедДоцументЦоунт ()
- дб.цоллецтион.цоунт ()
- дб.цоллецтион.дистинцт ()
Све горе поменуте операције користе се за једнонаменско агрегирање. Ове операције пружају једноставну контролу приступа уобичајеним процесима агрегације. Ове операције неће пружити опсежну филтрацију и сортирање баш као цевовод за агрегацију и Мап Редуце.
Код
db.orders.distinct('cust_id')
Слика 7: У шкољци Монго
Слика 8: У Робо 3Т
Слика 9
Закључак
Агрегација је поступак прикупљања информација како би се добио просечан резултат. Такође се користи у аналитичке сврхе. У овом упутству научили смо о три врсте агрегације које су доступне у МонгоДБ за обраду информација.
МонгоДБ нам такође пружа метод смањења мапе, који се користи за обједињавање огромних информација. Мап Редуце се углавном користи за велике податке. Све ове методологије обједињавања користе се на основу стања записа и резултујућих вредности.
У нашем предстојећем упутству детаљно ћемо научити о Пројекцији у МонгоДБ-у.
ПРЕВ Туториал |. | СЛЕДЕЋА Лекција
Препоручено читање
- Потврда идентитета корисника у МонгоДБ
- МонгоДБ пројекција са примером
- 20+ МонгоДБ лекција за почетнике: бесплатан МонгоДБ курс
- МонгоДБ Направите резервну копију базе података
- Шта је МонгоДБ репликација
- МонгоДБ Водич за креирање базе података
- МонгоДБ Водич за осенчење са примером
- МонгоДБ регуларни израз $ регек са примером