Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Eventos de cambios

invalidate

invalidate

Un invalidate evento ocurre cuando una operación hace que el flujo de cambios sea inválido. Por ejemplo, un flujo de cambios abierto en una colección que luego se descartó o renombró provocaría un evento invalidate.

Campo
Tipo
Descripción

_id

Documento

A Objeto BSON que sirve como identificador para el evento de flujo de cambios. Este valor se utiliza como el resumeToken para el parámetro resumeAfter al reanudar un flujo de cambios. El objeto _id tiene la siguiente forma:

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

El tipo _data depende de las versiones de MongoDB y, en algunos casos, de la compatibilidad de características entre versiones (compatibilidad de características entre versiones) al momento de la apertura o reanudación del flujo de cambios. Consulta Tokens de reanudación para obtener la lista completa de tipos _data.

Para obtener un ejemplo de reanudación de un flujo de cambios por resumeToken, consulta Reanudar un Change Stream.

clusterTime

Marca de tiempo

clusterTime es la marca de tiempo de la entrada de oplog asociada con el evento.

Debido a los límites de tamaño del oplog, las transacciones multidocumentos pueden crear varias entradas de oplog. En una transacción, los eventos de flujo de cambios organizados en una entrada determinada del oplog comparten el mismo clusterTime.

En clústeres fragmentados, los eventos con el mismo clusterTime no siempre están relacionados con la misma transacción. Algunos eventos no se relacionan en absoluto con una transacción.

Para identificar eventos para una única transacción, puedes usar la combinación de lsid y txnNumber en el documento de eventos del flujo de cambios.

operationType

string

El tipo de operación que se reporta en la notificación de cambio.

Devuelve un valor de invalidate para estos eventos de cambio.

El siguiente ejemplo ilustra un evento invalidate:

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

Los flujos de cambios abiertos en las colecciones generan un evento invalidate cuando se produce una operación de descartar, cambio de nombre o dropDatabase que afecta a la colección vigilada.

Las secuencias de cambios abiertas en bases de datos activan un evento invalidate cuando ocurre un dropDatabase que afecta a la base de datos vigilada.

invalidate los eventos cierran el cursor del flujo de cambios.

No puedes usar resumeAfter para reanudar un flujo de cambios después de que un evento de invalidación (por ejemplo, la eliminación o cambio de nombre de una colección) cierre el flujo. En su lugar, puede utilizar startAfter para iniciar un nuevo flujo de cambios después de un evento invalidate.

Volver

insert

En esta página