Основната цел на aggregation framework
е да улесните заявката на голям брой записи и да генерирате малък брой резултати, които имат стойност за вас.
Както казахте, можете също да използвате множество find
заявки, но не забравяйте, че не можете да създавате нови полета с find
запитвания. От друга страна, $group
етап ви позволява да дефинирате новите си полета.
Ако искате да постигнете функционалността на aggregation framework
, най-вероятно ще трябва да стартирате първоначално find
(или верига от няколко), изтеглете тази информация и я манипулирайте допълнително с език за програмиране.
aggregation pipeline
може да изглежда, че отнема повече време, но поне знаете, че трябва да вземете предвид производителността само на една система - MongoDB engine.
Като има предвид, че когато става въпрос за манипулиране на данните, върнати от find
заявка, най-вероятно ще трябва да манипулирате допълнително данните с език за програмиране, като по този начин увеличавате сложността в зависимост от тънкостите на избрания език за програмиране.