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
/ /
Eventos de cambios

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 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 (FCV) en el momento de la apertura o reanudación del flujo de cambios. Consulta Tokens de reanudación para la lista completa de tipos de _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 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.

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

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 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