Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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 registro de operaciones, lastransacciones multidocumento pueden crear varias entradas del registro de operaciones. En una transacción, los eventos de flujo de cambios almacenados en una entrada del registro de operaciones comparten el clusterTime mismo.

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 sola transacción, puede utilizar la combinación de lsid y txnNumber en el documento de evento de flujo de cambios.

Cambiado en la versión 8.0.

operationType

string

El tipo de operación que informa 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 cambio.

No puedes utilizar resumeAfter para reanudar un flujo de cambios después de un(a) Unevento de invalidación (por ejemplo, la eliminación o el 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