O objetivo principal da
aggregation framework
é facilitar a consulta de um grande número de entradas e gerar um número baixo de resultados que tenham valor para você. Como você disse, você também pode usar vários
find
consultas, mas lembre-se que você não pode criar novos campos com find
consultas. Por outro lado, o $group
estágio permite que você defina seus novos campos. Se você deseja obter a funcionalidade do
aggregation framework
, você provavelmente teria que executar um find
inicial (ou encadeie vários), puxe essa informação e manipulá-la ainda mais com uma linguagem de programação. O
aggregation pipeline
pode parecer demorar mais, mas pelo menos você sabe que só precisa levar em conta o desempenho de um sistema - o mecanismo MongoDB. Considerando que, quando se trata de manipular os dados retornados de um
find
consulta, você provavelmente teria que manipular ainda mais os dados com uma linguagem de programação, aumentando assim a complexidade dependendo das complexidades da linguagem de programação escolhida.