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

invalidar Evento

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 parámetro resumeToken para resumeAfter al reanudar un flujo de cambios. Los campos dentro del objeto _id dependen de las versiones de MongoDB y, en algunos casos, de la compatibilidad de características entre versiones (compatibilidad de características entre versiones) en el momento de la apertura o reanudación del flujo de cambios.

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.

Los eventos con el mismo clusterTime pueden no estar todos relacionados con la misma transacción. Algunos eventos no están relacionados en absoluto con una transacción. A partir de MongoDB 8.0, esto puede ser cierto para eventos en cualquier implementación. En versiones anteriores, este comportamiento sólo era posible para eventos en un clúster particionado.

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.

Cambiado en la versión 8.0.

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.

wallTime

La fecha y hora del servidor de la operación de la base de datos. wallTime se diferencia de clusterTime en que clusterTime es una marca de tiempo tomada de la entrada oplog asociada con el evento de operación de la base de datos.

Novedades en la versión 6.0.

El siguiente ejemplo ilustra un evento invalidate:

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

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 utilizar resumeAfter para reanudar un flujo de cambios después de un(a) evento de invalidación (por ejemplo, una descartar o cambio de nombre de una colección) cierra el flujo. En su lugar, puede usar startAfter para iniciar un nuevo flujo de cambios después de un evento de invalidación.

Volver

insert

En esta página