Summary
- replace
- A - replaceevent occurs when an update operation removes a document from a collection and replaces it with a new document, such as when the- replaceOnemethod is called.
Description
| Field | Type | Description | |||
|---|---|---|---|---|---|
| 
 | Document | A BSON object which serves as an identifier for the
change stream event. This value is used as the  The  For an example of resuming a change stream by  | |||
| 
 | Timestamp | The timestamp from the oplog entry associated with the event. Change stream event notifications associated with a
multi-document transaction
all have the same  On sharded clusters, events with the same  To identify events for a single transaction, you can use the
combination of  New in version 4.0. | |||
| 
 | document | Document that contains the  For sharded collections, this field also displays the full shard key
for the document. The  | |||
| 
 | document | The new document created by the operation. | |||
| 
 | document | The identifier for the session associated with the transaction. Only present if the operation is part of a multi-document transaction. New in version 4.0. | |||
| 
 | 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. New in version 4.0. | 
Examples
The following example illustrates a replace event:
{    "_id": { <Resume Token> },    "operationType": "replace",    "clusterTime": <Timestamp>,    "ns": {       "db": "engineering",       "coll": "users"    },    "documentKey": {       "_id": ObjectId("599af247bb69cd89961c986d")    },    "fullDocument": {       "_id": ObjectId("599af247bb69cd89961c986d"),       "userName": "alice123",       "name": "Alice"    } } 
A replace operation uses the update command, and consists of two stages:
- Delete the original document with the - documentKeyand
- Insert the new document using the same - documentKey
The fullDocument of a replace event represents the document after the
insert of the replacement document.