aggregation mongodb
Преглед на агрегирането в MongoDB:
Удостоверяване в MongoDB беше обяснено подробно в предишния ни урок в това Подробна серия за обучение на MongoDB .
В този урок ще научим за агрегирането в MongoDB.
С прости думи, агрегирането означава да се комбинират различни ресурси от информация и да се осигури най-автентичният запис. В MongoDB това е процесът за валидиране на информация от различна колекция и в замяна на това предоставя един запис.
Извършват се различни операции върху събраните данни, за да се извлече само валидната информация.
В MongoDB са налични три вида агрегиране, както е показано по-долу:
- Тръбопровод за агрегиране
- Намаляване на картата
- Агрегация с една цел
Какво ще научите:
- Тръбопровод за агрегиране
- Намаляване на картата
- Агрегация с една цел
- Заключение
- Препоръчително четене
Тръбопровод за агрегиране
Рамката за агрегиране в MongoDB е разработена върху концепцията за тръбопроводи за обработка на данни. В този конвейер набор от различни функции се прилагат върху документ, който се въвежда в конвейера за обобщаване на крайния резултат.
По принцип се извършват две операции с всеки документ в тръбопровода. Първо, записите се филтрират точно както се изпълняват заявките, а във втората фаза трансформацията на документа променя типа му с цел извеждане.
От друга страна, конвейерните операции също се използват за сортиране, групиране, обединяване и агрегиране на масиви и масиви на документа. По някакъв начин конвейерите също могат да се използват за обобщаване на съдържанието или за изчисляване на средната стойност и конкатенация на записа.
Код
c # въпроси за интервю с отговори
db.orders.aggregate(({$match:{status:'A'}},{$group:{_id:'$cust_id', total:{$sum:'$amount'}}}))
Фигура 1: В черупката на Монго
Фигура 2: В Robo 3T
Фигура 3
Намаляване на картата
MongoDB предоставя и функцията Map Reduce за обобщаване. Като цяло има две фази на Map Reduce. В първата фаза всеки документ се обработва и излъчва обща и излишна част от документа, за да премине уникален запис за следващата фаза.
Във втората фаза всички уникални части се събират и обединяват, за да получат един резултат. Map Reduce също така осигурява сортиране, филтриране и модификация на документи.
Код
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: В Robo 3T
Фигура 6
приложение, за да шпионира android телефон
Агрегация с една цел
В агрегирането с една цел се прилага само един филтър за изчисляване на резултата. С прости думи, ако трябва да обединим цяла колекция въз основа на един филтър, тогава трябва да използваме операции за агрегиране с една цел.
В MongoDB имаме три вида операции по агрегиране за една филтрация:
- db.collection.estimatedDocumentCount ()
- db.collection.count ()
- db.collection.distinct ()
Всички горепосочени операции се използват за агрегиране с една цел. Тези операции осигуряват опростен контрол на достъпа до общите процеси на агрегиране. Тези операции няма да осигурят широко филтриране и сортиране, точно както конвейерът за агрегиране и Map Reduce.
Код
db.orders.distinct('cust_id')
Фигура 7: В Mongo Shell
Фигура 8: В Robo 3T
Фигура 9
Заключение
Агрегирането е процес на събиране на информация за осигуряване на средния резултат. Използва се и за аналитични цели. В този урок научихме за трите вида агрегиране, които са налични в MongoDB за обработка на информация.
MongoDB ни предоставя и метода за намаляване на картата, който се използва за събиране на огромна информация. Map Reduce се използва най-вече за големи данни. Всички тези методологии за агрегиране се използват въз основа на състоянието на записите и получените стойности.
В нашия предстоящ урок ще научим подробно за Проекцията в MongoDB.
Препоръчително четене
- Удостоверяване на потребителя в MongoDB
- Проекция на MongoDB с пример
- 20+ MongoDB урок за начинаещи: Безплатен курс на MongoDB
- MongoDB Създаване на резервно копие на база данни
- Какво е репликация на MongoDB
- MongoDB Създаване на урок за база данни
- MongoDB Урок за оцветяване с пример
- Редовен израз на MongoDB Редовен израз $ с пример