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

replace イベント

項目一覧

  • 概要
  • 説明
replace

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

フィールド
タイプ
説明

_id

ドキュメント

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

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

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

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

clusterTime

タイムスタンプ

clusterTime は、イベントに関連付けられたoplogエントリからのタイムスタンプです。

oplogのサイズ制限 により、マルチドキュメントトランザクションでは複数のoplogエントリが作成される場合があります。トランザクションでは、特定のoplogエントリでステージされた変更ストリームイベントは同じclusterTime を共有します。

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

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

documentKey

ドキュメント

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

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

fullDocument

ドキュメント

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

lsid

ドキュメント

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

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

ns

ドキュメント

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

ns.coll

string

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

ns.db

string

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

operationType

string

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

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

txnNumber

NumberLong

次の例では、 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

項目一覧