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

invalidate

項目一覧

  • 概要
  • 説明
invalidate

操作によって変更ストリームが無効になった場合、 invalidateイベントが発生します。 たとえば、コレクションに対して変更ストリームが開かれ、その後削除または名前が変更された場合、 invalidateイベントが発生します。

フィールド
タイプ
説明

_id

ドキュメント

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

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

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

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

clusterTime

タイムスタンプ

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

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

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

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

バージョン8.0で変更

operationType

string

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

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

wallTime

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

バージョン 6.0 で追加。

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

{
"_id": { <Resume Token> },
"operationType": "invalidate",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>
}

コレクションで開かれている変更ストリームでは、監視対象のコレクションに影響する削除名前変更、またはdropDatabase操作が発生すると、 invalidateイベントが発生します。

監視対象のデータベースに影響するdropDatabaseイベントが発生すると、データベースで開かれている変更ストリームではinvalidateイベントが発生します。

invalidate イベントが 変更ストリーム カーソル を閉じます。

無効化イベント(コレクションの削除や名前の変更など)によってストリームが閉じられた後は、 resumeAfterを使用して変更ストリームを再開することはできません。 代わりに、 startAfterを使用して、無効化イベント 後に新しい変更ストリームを開始できます。

戻る

insert

項目一覧