Główny cel aggregation framework
jest ułatwienie zapytania dużej liczby wpisów i wygenerowanie małej liczby wyników, które mają dla Ciebie wartość.
Jak powiedziałeś, możesz również użyć wielu funkcji find
zapytań, ale pamiętaj, że nie możesz tworzyć nowych pól za pomocą find
zapytania. Z drugiej strony $group
etap umożliwia zdefiniowanie nowych pól.
Jeśli chcesz osiągnąć funkcjonalność aggregation framework
, najprawdopodobniej będziesz musiał uruchomić początkowe find
(lub połącz kilka), pobierz te informacje i dalej manipuluj nimi za pomocą języka programowania.
aggregation pipeline
może wydawać się, że trwa to dłużej, ale przynajmniej wiesz, że musisz wziąć pod uwagę wydajność tylko jednego systemu - silnika MongoDB.
Natomiast jeśli chodzi o manipulowanie danymi zwróconymi z find
zapytanie, najprawdopodobniej będziesz musiał dalej manipulować danymi za pomocą języka programowania, zwiększając w ten sposób złożoność w zależności od zawiłości wybranego języka programowania.