AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

insert イベント

insert

操作によってコレクションにドキュメントが追加されると、 insertイベントが発生します。

フィールド
タイプ
説明

_id

ドキュメント

BSONオブジェクト。変更ストリームイベントの識別子として機能します。この値は、変更ストリームを再開するときに、resumeAfter パラメータの resumeToken として使用されます。_idオブジェクト内のフィールドは、変更ストリームの開始時または再開時にMongoDB のバージョンと、場合によっては機能の互換性バージョン(FCV)によって異なります。

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

clusterTime

タイムスタンプ

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

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

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

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

8.0バージョン での変更。

collectionUUID

UUID

変更が発生したコレクションを識別するUUID

6.0バージョン の新機能。:

collectionUUIDフィールドは、変更ストリームがshowExpandedEventsフィールドを true に設定して作成された場合にのみ含まれます。詳細については、showExpandedEvents を参照してください。

documentKey

ドキュメント

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

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

fullDocument

ドキュメント

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

6.0バージョン での変更。

MongoDB 6.0 以降では、 db.createCollection()create 、またはcollModを使用してchangeStreamPreAndPostImagesオプションを設定すると、 fullDocumentフィールドには挿入、置換、または更新された後のドキュメントが表示されます(ドキュメントがイメージ)。 fullDocumentは常にinsertイベントに含まれます。

lsid

ドキュメント

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

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

ns

ドキュメント

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

ns.coll

string

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

ns.db

string

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

operationType

string

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

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

txnNumber

NumberLong

wallTime

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

6.0バージョン の新機能。:

update コマンドは、コレクションに加える実際の変更に応じて、異なる変更イベント(update だけでなく)を生成する可能性があります。

変更イベント
説明

更新操作は既存のドキュメントを変更しました。

アップデート操作によりドキュメントが置き換えられるか、元のドキュメントよりも冗長な差分が生成され、 MongoDB はそれを置き換えました。

アップデート操作、存在しないドキュメントがアップデートされ、代わりにそのドキュメントがコレクションに追加されました。これは、upsert オプションを有効にして更新を実行した場合にのみ発生します。

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

{
"_id": { <Resume Token> },
"operationType": "insert",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"userName": "alice123",
"_id": ObjectId("599af247bb69cd89961c986d")
},
"fullDocument": {
"_id": ObjectId("599af247bb69cd89961c986d"),
"userName": "alice123",
"name": "Alice"
}
}

documentKeyフィールドには、 _idフィールドとuserNameフィールドの両方が含まれます。 これは、 engineering.usersコレクションがシャーディングされており、 userName_idのシャードキーがあることを示しています。

fullDocumentドキュメントは、挿入時点でのドキュメントのバージョンを表します。