Docs Menu
Docs Home
/ /
Eventos de cambios

replace Evento

replace

Un evento replace ocurre cuando una operación de actualización elimina un documento de una colección y lo reemplaza con un documento nuevo, como cuando replaceOne Se llama al método.

Campo
Tipo
Descripción

_id

Documento

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

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

El _data tipo depende de las versiones de MongoDB y, en algunos casos, de la versión de compatibilidad de funciones (fCV) vigente al momento de la apertura o reanudación del flujo de cambios.Consulte Tokens de reanudación para ver la lista completa de _data tipos.

Para ver un ejemplo de cómo reanudar un flujo de cambios resumeToken por, consulte Reanudar un flujo de cambios.

clusterTime

Marca de tiempo

clusterTime es la marca de tiempo de la entrada del registro de operaciones 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, es posible que los eventos con el mismo clusterTime no se relacionen todos con la misma transacción. Algunos eventos no se relacionan con ninguna 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.

documentKey

Documento

Documento que contiene el _id valor del documento creado o modificado por la operación CRUD.

En las colecciones fragmentadas, este campo también muestra la clave de fragmento completa del documento. El campo _id no se repite si ya forma parte de la clave de fragmento.

fullDocument

Documento

El nuevo documento creado por la operación.

lsid

Documento

El identificador de la sesión asociada con la transacción.

Sólo está presente si la operación es parte de una transacción de múltiples documentos.

ns

Documento

El espacio de nombres (base de datos y/o colección) afectado por el evento.

ns.coll

string

El nombre de la colección donde ocurrió el evento.

ns.db

string

El nombre de la base de datos donde ocurrió el evento.

operationType

string

El tipo de operación que informa la notificación de cambio.

Devuelve un valor de replace para estos eventos de cambio.

txnNumber

Número largo

Junto con el lsid, un número que ayuda a identificar de forma única una transacción.

Sólo está presente si la operación es parte de una transacción de múltiples documentos.

El siguiente ejemplo ilustra un evento replace:

{
"_id": { <Resume Token> },
"operationType": "replace",
"clusterTime": <Timestamp>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"_id": ObjectId("599af247bb69cd89961c986d")
},
"fullDocument": {
"_id": ObjectId("599af247bb69cd89961c986d"),
"userName": "alice123",
"name": "Alice"
}
}

Una operación replace utiliza el comando de actualización y consta de dos etapas:

  • Eliminar el documento original con documentKey y

  • Inserte el nuevo documento utilizando el mismo documentKey

El fullDocument de un evento replace representa el documento después de la inserción del documento de reemplazo.

Volver

renombrar

En esta página