定義
- MongoDB\Collection::aggregate()
- コレクションに対して集計フレームワーク パイプライン操作を実行します。 - function aggregate( - array|Pipeline $pipeline, - array $options = [] - ): Traversable 
パラメーター
- $pipeline: array|パイプライン
- 集計パイプライン操作を指定します。集計ステージは MongoDB\Builder\Pipelineインスタンスまたは 配列に含めることができます。
- $options: 配列
- 必要なオプションを指定する配列。 名前タイプ説明- allowDiskUse - ブール値 - 一時ファイルへの書込みを有効にします。 - trueに設定すると、集計ステージは- dbPathディレクトリの- _tmpサブディレクトリにデータを書込むことができます。- batchSize - integer - カーソルのバッチ サイズを指定します。これは最初の - aggregateコマンドと後続の- getMoreコマンドの両方に適用されます。 これにより、サーバーからの応答ごとに返されるドキュメントの最大数が決まります。- 0の BatchSize はその点で特別であり、最初の- aggregateコマンドにのみ適用されます。後続の- getMoreコマンドは、サーバーのデフォルトのバッチ サイズを使用します。 これは、サーバー側での目立った作業なしに、- aggregateからのカーソルやエラーをすばやく返すのに役立つ場合があります。- bypassDocumentValidation - ブール値 - コーデック - MongoDB\Codec\DocumentCodec - collation - array|object - 照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。 照合を指定する場合、 - localeフィールドは必須です。その他の照合フィールドはすべてオプションです。 フィールドの説明については、 「照合ドキュメント」 を参照してください。- 照合が指定されていないが、コレクションにデフォルトの照合がある場合、操作はコレクションに指定された照合を使用します。 コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって string が比較されます。 - comment - 混合 - データベースプロファイラ、 currentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。 - コメントには、サーバー バージョン 4.4 以上の有効な BSON タイプ であればどれでもかまいません。 以前のサーバー バージョンでは string 値のみがサポートされていました。 - バージョン 1.3 で追加。 - explain - ブール値 - パイプラインの処理に関する情報を返すかどうかを指定します。 - バージョン 1.4 で追加。 - hint - string|array|object - 使用するインデックス。 インデックス名を string またはインデックス キー パターンをドキュメントとして指定します。 指定すると、クエリ システムはヒント指定したインデックスを使用するプランのみを考慮します。 - バージョン 1.3 で追加。 - let - array|object - パラメーター名と値のマップ。 値は、ドキュメント フィールドを参照しない定数または閉じた式である必要があります。 その後、パラメーターには 集計式コンテキスト で変数としてアクセスできます(例: - $$var)。- これは 5.0 より前のサーバー バージョンではサポートされていないため、使用された場合は実行時に例外が発生します。 - バージョン 1.9 の新機能。 - maxTimeMS - integer - カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。 MongoDB は、次の割り込みポイントが最も近い時点で操作を中止します。 - ReadConcern - 操作に使用する読み取り保証。 デフォルトはコレクションの読み取り保証 (read concern) です。 - トランザクションの一部である個々の操作に対して読み取り保証 (read concern)を指定することはできません。代わりに、トランザクションを開始するときに - readConcernオプションを設定します。- readPreference - 操作に使用する読み取り設定。 コレクションの読み込み設定(read preference)がデフォルトで設定されます。 - セッション - 操作に関連付けるクライアント セッション。 - バージョン 1.3 で追加。 - typeMap - 配列 - writeConcern - 操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。 - トランザクションの一部である個々の操作に対して書込み保証 (write concern)を指定することはできません。代わりに、トランザクションを開始するときに - writeConcernオプションを設定します。
Return Values
MongoDB\Driver\Cursor または ArrayIteratorオブジェクト。どちらの場合も、戻り値は Triggers になります。
エラーと例外
MongoDB\Exception\UnexpectedValueException サーバーからのコマンド応答が不正な形式であった場合、。
MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collation 、 readConcern 、 writeConcern )。
MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。
MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。
動作
MongoDB\Collection::aggregate() は MongoDB\Driver\Cursor オブジェクトを返します。
例
次の集計例では、 namesというコレクションを使用してfirst_nameフィールドをグループ化し、各グループの結果の合計数をカウントし、結果を名前でソートします。
$collection = (new MongoDB\Client)->test->names; $cursor = $collection->aggregate(     [         ['$group' => ['_id' => '$first_name', 'name_count' => ['$sum' => 1]]],         ['$sort' => ['_id' => 1]],     ] );