Summary
Description
Field | Type | Description |
|---|---|---|
| Document | A BSON object, which serves as an identifier for the change stream event. This value is used as the For an example of resuming a change stream by |
| Timestamp |
Due to oplog size limits, multi-document transactions may create multiple oplog entries. In a transaction, change stream events staged in a given oplog entry share the same Events with the same To identify events for a single transaction, you can use the combination of Changed in version 8.0. |
| UUID | UUID identifying the collection where the change occurred. New in version 6.0. The |
| document | Document that contains the For sharded collections, this field also displays the shard key fields that are present in the document. MongoDB does not repeat the To use this field as a query filter, see Use documentKey as a Query Filter. |
| document | The document created by the operation. Changed in version 6.0. Starting in MongoDB 6.0, if you set the |
| document | The identifier for the session associated with the transaction. Only present if the operation is part of a multi-document transaction. |
| document | The namespace (database and or collection) affected by the event. |
| string | The name of the collection where the event occurred. |
| string | The name of the database where the event occurred. |
| string | The type of operation that the change notification reports. Returns a value of |
| NumberLong | Together with the lsid, a number that helps uniquely identify a transction. Only present if the operation is part of a multi-document transaction. |
| The server date and time of the database operation. New in version 6.0. |
Behavior
Update Operations
The update command can produce different change events (not just update) depending on the actual changes it makes to the collection.
Change Event | Description |
|---|---|
The update operation modified an existing document. | |
The update operation replaced the document or produced a diff that was more verbose than the original document, causing MongoDB to replace it. | |
The update operation attempted to update a document that doesn't exist and instead added the document to the collection. This only occurs when the update runs with the |
Example
The following example illustrates an insert event:
{ "_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" } }
The documentKey field includes both the _id and the userName field. This indicates that the engineering.users collection is sharded, with a shard key on userName and _id.
The fullDocument document represents the version of the document at the time of the insert.