集計パイプライン ステージを選択します
Atlas Search クエリは集計パイプラインステージ 内で実行されます。これは、集計を実行するための推奨方法です。
集計操作は、複数のドキュメントを処理し、計算結果を返します。 集計操作を使用すると、次のことができます。
複数のドキュメントの値をグループ化します。
グループ化されたデータに対して操作を実行して、1 つの結果を返します。
時間の経過に伴うデータの変化を分析します。
$search
または $searchMeta
ステージのいずれかを集計パイプラインの最初のステージとして使用できます。
集計パイプライン ステージ | 説明 |
---|---|
全文検索を実行し、順序付けられたドキュメントのリストと追加の検索メタデータを返します。ファセットの有無にかかわらず、一致するドキュメントを検索するには、 | |
全文検索を実行し、ドキュメントを取得せずにメタデータを返します。一致するドキュメントやファセットの総数など、検索結果に関するメタデータのみを取得するには、 |
$search
または $searchMeta
ステージが完了したら、追加の集計ステージを使用してドキュメントをさらに処理できます。例、 では、他のステージに加えて、次の ステージの 1 つ以上を使用できます。
集計パイプライン ステージ | 説明 |
---|---|
パイプラインの次のステージに渡されるドキュメントの数を制限します。 | |
ステージに渡されるドキュメントをスキップし、残りのドキュメントをパイプラインの次のステージに渡します。 | |
リクエストされたフィールドを含むドキュメントをパイプラインの次のステージに渡します。 | |
ドキュメントに新しいフィールドを追加します。 | |
同じ入力ドキュメントセット上の単一ステージ内の複数の集計パイプライン を処理します。 | |
指定されたクエリ述語に基づいてドキュメントをフィルタリングし、一致したドキュメントを次のパイプラインステージに渡します。 | |
同じフィールドまたは式を持つドキュメントを、グループ キーによって単一のドキュメントに結合します。 | |
同じデータベース内のコレクションへの左外部結合を実行して 、"join"コレクションのドキュメントをフィルタリングして処理します。 |
これらのステージを集計パイプラインに追加する場合は、 パフォーマンスに大きな影響可能性 があることを考慮してください。
パフォーマンスを向上させるには、検索結果に $limit
を使用し、必要に応じて検索結果をページ分割 して、参照点の後に検索結果を取得する ことをお勧めします。