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