aggregation frameworkの主な目的 多数のエントリのクエリを容易にし、価値のある結果を少数生成することです。
あなたが言ったように、あなたは複数のfindを使うこともできます クエリですが、findで新しいフィールドを作成することはできないことに注意してください クエリ。一方、$group ステージでは、新しいフィールドを定義できます。
aggregation frameworkの機能を実現したい場合 、ほとんどの場合、最初のfindを実行する必要があります (または複数の情報を連鎖させて)、その情報を引き出し、プログラミング言語でさらに操作します。
aggregation pipeline 時間がかかるように見えるかもしれませんが、少なくとも、1つのシステム(MongoDBエンジン)のパフォーマンスのみを考慮する必要があることを知っています。
一方、findから返されたデータの操作に関しては クエリを実行する場合は、プログラミング言語を使用してデータをさらに操作する必要がある可能性が高いため、選択したプログラミング言語の複雑さに応じて複雑さが増します。