MongoDB$ClientBulkWrite::replaceOne()
バージョン2.1の新機能。
定義
MongoDB\ClientBulkWrite::replaceOne()
最初に一致するドキュメントの一括書き込みコマンドで置換操作を指定します。このメソッドは、呼び出される
MongoDB\ClientBulkWrite
インスタンスを返します。function replaceOne( array|object $filter, array|object $replacement, array $options = [] ): self
パラメーター
$filter
: array|object- 置き換えるドキュメントを指定するフィルター条件。
$replacement
: array|object- 置換ドキュメントです。
$options
: 配列必要なオプションを指定する配列。
名前タイプ説明collation
array|object
照合順序を指定すると、大文字や小文字、アクセント記号など、string を比較するための言語独自のルールを指定できます。 照合を指定する場合、
locale
フィールドは必須です。その他の照合フィールドはすべてオプションです。 フィールドの説明については、 「照合ドキュメント」 を参照してください。照合が指定されていないが、コレクションにデフォルトの照合がある場合、操作はコレクションに指定された照合を使用します。 コレクションにも操作にも照合が指定されていない場合、MongoDB では以前のバージョンで使用されていた単純なバイナリ比較によって string が比較されます。
hint
string|array|object
使用するインデックス。 インデックス名を string またはインデックス キー パターンをドキュメントとして指定します。 指定すると、クエリ システムはヒント指定したインデックスを使用するプランのみを考慮します。
sort
array|object
一致したドキュメントの順序の並び替え指定。このオプションを に設定すると、サーバーが置換操作 を実行する前に、一致したドキュメントに順序を適用します。
upsert
ブール値
true
に設定すると、クエリ条件に一致するドキュメントがない場合に新しいドキュメントが作成されます。 デフォルト値はfalse
で、一致するものが見つからない場合は新しいドキュメントを挿入しません。
エラーと例外
MongoDB\Exception\UnsupportedException
オプションが使用され、選択したサーバーでサポートされていない場合(例: collation
、 readConcern
、 writeConcern
)。
MongoDB\Exception\InvalidArgumentException
は、パラメータまたはオプションの解析に関連するエラーの場合は です。
MongoDB$Driver\Exception\BulkWriteCommandException 書込み (write)操作に関連するエラーの場合getWriteErrors() によって返される値を調べて、エラーの内容を判断できます。
MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。
動作
クエリ条件を評価する際、MongoDB は BSON types の独自の比較ルール に従って型と値を比較します。これは PHP の 比較と は異なります と 型の調整 ルール。特殊な BSON 型と一致する場合、クエリ条件はそれぞれの BSON クラス を使用する必要があります 拡張機能(例:MongoDB\BSON \ObjectId ObjectIdを使用 )
MongoDB\Driver\Exception\BulkWriteCommandException がスローされた場合は、 getWriteErrors() を呼び出し、返された配列の情報を調べて、エラーの内容を判断できます。
例、書込み (write)操作はプライマリサーバーに正常に適用されたが、書込み保証 (write concern)を満たすには失敗した場合があります。あるいは、一意なキー制約に違反する例、書込み (write)操作が完全に失敗した可能性もあります。