replace
イベント
概要
replace
replace
イベントは、更新操作によってコレクションからドキュメントが削除され、新しいドキュメントに置き換えられた場合(replaceOne
メソッドが呼び出された場合など)に発生します。
説明
フィールド | タイプ | 説明 | |||
---|---|---|---|---|---|
| ドキュメント | 変更ストリーム イベントの識別子として機能するBSONオブジェクト。 この値は、変更ストリームを再開するときに
| |||
| タイムスタンプ |
oplogのサイズ制限 により、マルチドキュメントトランザクションでは複数のoplogエントリが作成される場合があります。トランザクションでは、特定のoplogエントリでステージされた変更ストリームイベントは同じ シャーディングされたクラスターでは、同じ 単一のトランザクションのイベントを識別するには、変更ストリーム イベント ドキュメントで | |||
| ドキュメント | CRUD操作によって作成または変更されたドキュメントの シャーディングされたコレクションの場合、このフィールドにはドキュメントの完全なシャードキーも表示されます。 | |||
| ドキュメント | 操作によって作成された新しいドキュメント。 | |||
| ドキュメント | トランザクションに関連付けられたセッションの識別子。 | |||
| ドキュメント | イベントの影響を受ける名前空間(データベースと または コレクション)。 | |||
| string | イベントが発生したコレクションの名前。 | |||
| string | イベントが発生したデータベースの名前。 | |||
| string | 変更通知が報告する操作のタイプ。 これらの変更イベントの | |||
| NumberLong | トランザクションを一意に識別するのに役立つ数値は、 lsid と合わせて使用されます。 |
例
次の例では、 replace
イベントを示しています。
{ "_id": { <Resume Token> }, "operationType": "replace", "clusterTime": <Timestamp>, "ns": { "db": "engineering", "coll": "users" }, "documentKey": { "_id": ObjectId("599af247bb69cd89961c986d") }, "fullDocument": { "_id": ObjectId("599af247bb69cd89961c986d"), "userName": "alice123", "name": "Alice" } }
replace
操作は更新コマンドを使用し、次の 2 つのステージで構成されます。
documentKey
と次と同じ要素を使用して新しいドキュメントを挿入します:
documentKey
replace
イベントのfullDocument
は、置換ドキュメントの挿入後のドキュメントを表します。