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