Summary
invalidate
An
invalidate
event occurs when an operation renders the change stream invalid. For example, a change stream opened on a collection that was later dropped or renamed would cause aninvalidate
event.
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 |
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. |
| string | The type of operation that the change notification reports. Returns a value of |
| The server date and time of the database operation. New in version 6.0. |
Example
The following example illustrates an invalidate
event:
{
"_id": { <Resume Token> },
"operationType": "invalidate",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>
}
Change streams opened on collections raise an invalidate
event when a drop, rename, or dropDatabase operation occurs that affects the watched collection.
Change streams opened on databases raise an invalidate
event when a dropDatabase event occurs that affects the watched database.
invalidate
events close the change stream cursor.
You cannot use resumeAfter
to resume a change stream after an invalidate event (for example, a collection drop or rename) closes the stream. Instead, you can use startAfter to start a new change stream after an invalidate event.