replace
イベント
概要
replace
replace
イベントは、更新操作によってコレクションからドキュメントが削除され、新しいドキュメントに置き換えられた場合(replaceOne
メソッドが呼び出された場合など)に発生します。
説明
フィールド | タイプ | 説明 | |||
---|---|---|---|---|---|
_id | ドキュメント | 変更ストリーム イベントの識別子として機能するBSONオブジェクト。 この値は、変更ストリームを再開するときに
| |||
clusterTime | タイムスタンプ | イベントに関連付けられた oplog エントリのタイムスタンプ。 マルチドキュメントトランザクションに関連付けられた変更ストリーム イベントの通知では、すべて同じ シャーディングされたクラスターでは、同じ 単一のトランザクションのイベントを識別するには、変更ストリーム イベント ドキュメントで | |||
documentKey | ドキュメント | CRUD操作によって作成または変更されたドキュメントの シャーディングされたコレクションの場合、このフィールドにはドキュメントの完全なシャードキーも表示されます。 | |||
fullDocument | ドキュメント | 操作によって作成された新しいドキュメント。 | |||
lsid | ドキュメント | トランザクションに関連付けられたセッションの識別子。 | |||
ns | ドキュメント | イベントの影響を受ける名前空間(データベースと または コレクション)。 | |||
ns.coll | string | イベントが発生したコレクションの名前。 | |||
ns.db | string | イベントが発生したデータベースの名前。 | |||
operationType | string | 変更通知が報告する操作のタイプ。 これらの変更イベントの | |||
txnNumber | 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
は、置換ドキュメントの挿入後のドキュメントを表します。