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

modify イベント

項目一覧

  • 概要
  • 説明
modify

バージョン 6.0 で追加。

modifyイベントは、 collModコマンドがコレクションまたはビューからオプションを追加または削除する場合など、コレクションが変更されたときに発生します。 このイベントは、変更ストリームのshowExpandedEventsオプションがtrueに設定されている場合にのみ受信されます。

注意

曖昧さ回避

個々のドキュメントが更新されたときに発生するイベントの詳細については、 updateイベントを参照してください。

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

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

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

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

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

clusterTime
タイムスタンプ

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

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

同じclusterTimeを持つイベントが、すべて同じトランザクションに関連するわけではありません。 一部のイベントはトランザクションにまったく関連しません。 MongoDB 8.0以降では、どの配置のイベントにも当てはまる可能性があります。 以前のバージョンでは、この動作は シャーディングされたシャーディングされたクラスター上の イベントでのみ可能でした。

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

バージョン8.0で変更

collectionUUID
UUID

変更がコレクションで発生した場合、collectionUUID はコレクションの UUID を示します。変更がビューで発生した場合、collectionUUID は存在しません。

バージョン 6.0 で追加。

lsid
ドキュメント

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

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

ns
ドキュメント

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

ns.db
string

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

ns.coll
string

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

operationDescription
ドキュメント

変更操作に関する追加情報。

このドキュメントとそのサブフィールドは、変更ストリームが展開されたイベントを使用する場合にのみ表示されます。

バージョン 6.0 で追加。

operationDescription.
index
ドキュメント

変更されたインデックス。

バージョン 6.0 で追加。

operationDescription.
indexes
配列
操作によって変更されたインデックスを一覧表示するドキュメントの配列。
operationType
string

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

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

stateBeforeChange
ドキュメント

ドキュメントには、操作によって変更される前にコレクションとインデックスのオプションが表示されています。

stateBeforeChange.
collectionOptions
ドキュメント

ドキュメントには、操作によって変更される前にコレクション オプションが表示されています。

stateBeforeChange.
indexOptions
ドキュメント

ドキュメントには、操作によって変更される前にインデックス オプションが表示されています。

txnNumber
NumberLong

lsidと合わせて、トランザクションを一意に識別するのに役立つ数値です。

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

wallTime

データベースの操作のサーバー日付と時刻。 wallTimeclusterTimeclusterTimeは と異なり、 はデータベース操作イベントに関連付けられた oplog エントリから取得されたタイムスタンプであるため、

バージョン 6.0 で追加。

次の例は、 modifyイベントを示しています。

{
"_id": { <ResumeToken> },
"operationType": "modify",
"clusterTime": Timestamp({ t: 1654878543, i: 1 }),
"collectionUUID": UUID("47d6baac-eeaa-488b-98ae-893f3abaaf25"),
"wallTime": ISODate("2022-06-10T16:29:03.704Z"),
"ns": {
"db": "test",
"coll": "authors" },
"operationDescription": {
"index": {
"name": "age_1",
"hidden": true
}
},
"stateBeforeChange": {
"collectionOptions": {
"uuid": UUID("47d6baac-eeaa-488b-98ae-893f3abaaf25")
},
"indexOptions": {
"hidden": false
}
}
}

戻る

invalidate

項目一覧