update
イベント
概要
説明
フィールド | タイプ | 説明 | |||
---|---|---|---|---|---|
_id | ドキュメント | 変更ストリーム イベントの識別子として機能する BSONオブジェクト。 この値は、変更ストリームを再開するときに、
| |||
clusterTime | タイムスタンプ | イベントに関連付けられた oplog エントリのタイムスタンプ。 マルチドキュメントトランザクションに関連付けられた変更ストリーム イベントの通知では、すべて同じ シャーディングされたクラスターでは、同じ 単一のトランザクションのイベントを識別するには、変更ストリーム イベント ドキュメントで | |||
documentKey | ドキュメント | CRUD操作によって作成または変更されたドキュメントの シャーディングされたコレクションの場合、このフィールドにはドキュメントの完全なシャードキーも表示されます。 | |||
fullDocument | ドキュメント | CRUD操作によって作成または変更されたドキュメント。 このフィールドは、 詳細については、「更新操作のための完全なドキュメントの検索 」を参照してください。 | |||
lsid | ドキュメント | トランザクションに関連付けられたセッションの識別子。 | |||
ns | ドキュメント | イベントの影響を受ける名前空間(データベースと または コレクション)。 | |||
ns.coll | string | イベントが発生したコレクションの名前。 | |||
ns.db | string | イベントが発生したデータベースの名前。 | |||
operationType | string | 変更通知が報告する操作のタイプ。 これらの変更イベントの | |||
updateDescription | ドキュメント | 更新操作によって更新または削除されたフィールドを説明するドキュメント。 | |||
updateDescription. removedFields | 配列 | アップデート操作によって削除されたフィールドの配列。 | |||
updateDescription. truncatedArrays | 配列 | 次の 1 つ以上のステージを使用して、パイプラインベースの更新で実行された配列の切り捨てを記録するドキュメントの配列。 注意配列全体が置き換えられた場合、切り捨てはupdate Description.updateFields で報告されます。 | |||
updateDescription. truncatedArrays. field | string | 切り捨てられたフィールドの名前。 | |||
updateDescription. truncatedArrays. newSize | integer | 切り捨てられた配列内の要素の数。 | |||
updateDescription. updatedFields | ドキュメント | アップデート操作によって変更されたフィールドに対応するキーを持つドキュメント。 各フィールドの値は、新しい値を生成した操作ではなく、それらのフィールドの新しい値に対応します。 | |||
txnNumber | NumberLong | トランザクションを一意に識別するのに役立つ数値は、 lsidと合わせて使用されます。 |
例
次の例では、 update
イベントを示しています。
{ "_id": { <Resume Token> }, "operationType": "update", "clusterTime": <Timestamp>, "ns": { "db": "engineering", "coll": "users" }, "documentKey": { "_id": ObjectId("58a4eb4a30c75625e00d2820") }, "updateDescription": { "updatedFields": { "email": "alice@10gen.com" }, "removedFields": ["phoneNumber"], "truncatedArrays": [ { "field" : "vacation_time", "newSize" : 36 } ] } }
次の例では、 fullDocument : updateLookup
オプションを使用して開かれた変更ストリームのupdate
イベントを示しています。
{ "_id": { <Resume Token> }, "operationType": "update", "clusterTime": <Timestamp>, "ns": { "db": "engineering", "coll": "users" }, "documentKey": { "_id": ObjectId("58a4eb4a30c75625e00d2820") }, "updateDescription": { "updatedFields": { "email": "alice@10gen.com" }, "removedFields": ["phoneNumber"], "truncatedArrays": [ { "field" : "vacation_time", "newSize" : 36 } ] }, "fullDocument": { "_id": ObjectId("58a4eb4a30c75625e00d2820"), "name": "Alice", "userName": "alice123", "email": "alice@10gen.com", "team": "replication" } }
fullDocument
ドキュメントは、更新されたドキュメントの過半数がコミットした最新のバージョンを表します。 fullDocument
ドキュメントは、アップデート操作とドキュメント検索の間に発生する、過半数がコミットした操作のインターリーブ数に応じて、アップデート操作の時点でのドキュメントと異なる場合があります。