Docs Menu
Docs Home
/
MongoDBマニュアル
/ /

replace イベント

項目一覧

  • 概要
  • 説明
replace

replaceイベントは、更新操作によってコレクションからドキュメントが削除され、新しいドキュメントに置き換えられた場合( replaceOneメソッドが呼び出された場合など)に発生します。

フィールド
タイプ
説明
_id
ドキュメント

変更ストリーム イベントの識別子として機能するBSONオブジェクト。 この値は、変更ストリームを再開するときにresumeAfterパラメータのresumeTokenとして使用されます。 _idオブジェクトの形式は次のとおりです。

{
"_data" : <BinData|hex string>
}

_dataタイプは、変更ストリームの開始時または再開時に MongoDB のバージョン、および場合によっては機能の互換性バージョン(FCV)によって異なります。 _dataタイプの完全なリストについては、「再開トークン」を参照してください。

resumeTokenによる変更ストリームの再開の例については、「 変更ストリームの再開 」を参照してください。

clusterTime
タイムスタンプ

イベントに関連付けられた oplog エントリのタイムスタンプ。

マルチドキュメントトランザクションに関連付けられた変更ストリーム イベントの通知では、すべて同じclusterTime値(トランザクションがコミットされた時間)が含まれます。

シャーディングされたクラスターでは、同じclusterTimeを持つイベントがすべて同じトランザクションに関連付けられない場合があります。 一部のイベントはトランザクションにまったく関連しません。

単一のトランザクションのイベントを識別するには、変更ストリーム イベント ドキュメントでlsidtxnNumberの組み合わせを使用できます。

documentKey
ドキュメント

CRUD操作によって作成または変更されたドキュメントの_id値を含むドキュメント。

シャーディングされたコレクションの場合、このフィールドにはドキュメントの完全なシャードキーも表示されます。 _idフィールドは、すでにシャードキーの一部である場合は繰り返されません。

fullDocument
ドキュメント
操作によって作成された新しいドキュメント。
lsid
ドキュメント

トランザクションに関連付けられたセッションの識別子。

操作がマルチドキュメントトランザクションの一部である場合にのみ存在します。

ns
ドキュメント

イベントの影響を受ける名前空間(データベースと または コレクション)。

ns.coll
string

イベントが発生したコレクションの名前。

ns.db
string

イベントが発生したデータベースの名前。

operationType
string

変更通知が報告する操作のタイプ。

これらの変更イベントのreplaceの値を返します。

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は、置換ドキュメントの挿入後のドキュメントを表します。

戻る

rename

項目一覧