AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB\Database::aggregate()

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

ブール値

trueの場合、書込み操作によってドキュメント レベルの検証を回避できます。 デフォルトはfalseです。

これは、 $ out ステージと$outステージを使用する場合にのみ適用されます。

コーデック

MongoDB\Codec\DocumentCodec

ドキュメントのエンコードまたはデコードに使用する タイプ コーデック でデータをエンコードする。このオプションは typeMap オプションと相互に排他的です。

1.17バージョン の新機能。:

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

配列

カーソルに適用するタイプ マップ。BSON ドキュメントをPHP値に変換する方法を決定します。データベースのタイプ マップがデフォルトで設定されます。

writeConcern

操作に使用する書込み保証 ( write concern )。 データベースの書込み保証 (write concern) のデフォルト。

MongoDB\Driver\Cursor または ArrayIteratorオブジェクト。どちらの場合も、戻り値は Triggers になります。

MongoDB\Exception\UnexpectedValueException サーバーからのコマンド応答が不正な形式であった場合、。

MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collationreadConcernwriteConcern )。

MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。

MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。

次の集計の例では、 $currentOp集計パイプライン ステージを使用して実行中のすべてのコマンドを一覧表示し、このリストをフィルタリングして実行中のコマンド操作のみを表示します。

<?php
$database = (new MongoDB\Client)->admin;
$cursor = $database->aggregate(
[
['$currentOp' => []],
['$match' => ['op' => 'command']],
]
);