Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル
/ /

MongoDB\Collection::bulkWrite()

項目一覧

  • 定義
  • パラメーター
  • Return Values
  • エラーと例外
  • 動作
  • その他の参照
MongoDB\Collection::bulkWrite()

複数の書込み操作を実行します。

function bulkWrite(
array $operations,
array $options = []
): MongoDB\BulkWriteResult
$operations : 配列

実行される書込み (write) 操作を含む配列。 MongoDB\Collection::bulkWrite()は、次の配列構造で MongoDB\Collection::deleteMany()MongoDB\Collection::deleteOne()MongoDB\Collection::insertOne()MongoDB\Collection::replaceOne()MongoDB\Collection::updateMany() 、およびMongoDB\Collection::updateOne()操作をサポートしています。

[
[ 'deleteMany' => [ $filter ] ],
[ 'deleteOne' => [ $filter ] ],
[ 'insertOne' => [ $document ] ],
[ 'replaceOne' => [ $filter, $replacement, $options ] ],
[ 'updateMany' => [ $filter, $update, $options ] ],
[ 'updateOne' => [ $filter, $update, $options ] ],
]

引数は、それぞれの操作メソッドに対応します。 ただし、 writeConcernオプションは、個々の操作ではなく、 MongoDB\Collection::bulkWrite()の最上位オプションとして指定されます。

$options : 配列

必要なオプションを指定する配列。

名前
タイプ
説明

bypassDocumentValidation

ブール値

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

コーデック

MongoDB\Codec\DocumentCodec

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

デフォルトはコレクションのコーデック。 デフォルトのcodecオプションの継承は、 typeMapオプションの継承よりも優先されます。

一括書き込みでは、 insertOne操作とreplaceOne操作に コーデックを使用します。

バージョン 1.17 の新機能

comment

混合

データベースプロファイラcurrentOp出力、およびログから操作を追跡するのに役立つ任意のコメントを指定できるようにします。

このオプションは MongoDB 4.4 以降で使用可能であり、古いサーバー バージョンで指定すると実行時に例外が発生します。

バージョン 1.13 の新機能

let

array|object

パラメーター名と値のマップ。 値は、ドキュメント フィールドを参照しない定数または閉じた式である必要があります。 その後、パラメーターには 集計式コンテキスト で変数としてアクセスできます(例: $$var )。

これは 5.0 より前のサーバー バージョンではサポートされていないため、使用された場合は実行時に例外が発生します。

バージョン 1.13 の新機能

ordered

ブール値

true : 1 つの書き込みが失敗すると、残りの書き込みを実行せずに操作が停止し、例外がスローされます。

false : 1 つの書き込みが失敗すると、操作は残りの書き込みがある場合は続行され、例外がスローされます。

デフォルトは true です。

セッション

操作に関連付けるクライアント セッション。

バージョン 1.3 で追加

writeConcern

操作に使用する書込み保証 ( write concern )。 コレクションの書込み保証 (write concern) のデフォルトです。

トランザクションの一部である個々の操作に対して書込み保証 (write concern) を指定することはできません。 代わりに 、トランザクションを開始する ときにwriteConcern オプションを設定します。

MongoDB\BulkWriteResultMongoDB\Driver\WriteResult をカプセル化する オブジェクト オブジェクト。

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

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

MongoDB\Driver\Exception\BulkWriteException 書込み (write) 操作に関連するエラーの場合ユーザーは getWriteResult() によって返された値を調べる必要があります。 エラーの内容を判断します。

MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。

MongoDB\Driver\Exception\BulkWriteException の場合 がスローされる場合は、 getWriteResult() を呼び出す必要があります。 返された MongoDB\Driver\WriteResult を検査します エラーの内容を決定するための オブジェクト。

例えば、書込み (write) 操作はプライマリ サーバーに正常に適用されたが、書込み保証 (write concern) を満たすには失敗した場合(例: レプリケーションに時間がかかりすぎました)。 あるいは、書込み (write) 操作が完全に失敗した可能性があります(例: 一意なキー違反)。

一括書込みの場合、結果には複数の書込み操作の成功やエラーが含まれることがあります。 orderedオプションがtrueの場合、最初のエラーが発生して例外がスローされる前に一部の操作が成功している可能性があります。 orderedオプションがfalseの場合、複数のエラーが発生した可能性があります。

戻る

Aggregate()