Docs Menu
Docs Home
/ /
Eventos de cambios

update Evento

update

Un evento update ocurre cuando una operación actualiza un documento en una colección.

Campo
Tipo
Descripción

_id

Documento

A ObjetoBSON 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 documento creado o modificado por una operación CRUD.

Este campo solo aparece si configuraste el flujo de cambios con fullDocument establecido en updateLookup. Cuando configures el flujo de cambios con updateLookup, el campo representará la versión actual comprometida por la mayoría del documento modificado por la operación de actualización. El documento puede diferir respecto a los cambios descritos en updateDescription si cualquier otra operación comprometida por mayoría ha modificado el documento entre la operación de actualización original y la búsqueda completa del documento.

Para obtener más información, consulte Buscar documento completo para operaciones de actualizació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 update para estos eventos de cambio.

updateDescription

Documento

Un documento que describe los campos que se actualizaron o eliminaron mediante la operación de actualización.

updateDescription.
removedFields

arreglo

Una matriz de campos que fueron eliminados por la operación de actualización.

updateDescription.
truncatedArrays

arreglo

Una matriz de documentos que registran truncamientos de matriz realizados con actualizaciones basadas en canalizaciones utilizando una o más de las siguientes etapas:

Si se reemplaza toda la matriz, los truncamientos se informarán en updateDescription.updatedFields.

updateDescription.
truncatedArrays.
field

string

El nombre del campo truncado.

updateDescription.
truncatedArrays.
newSize

entero

El número de elementos en la matriz truncada.

updateDescription.
updatedFields

Documento

Un documento cuyas claves corresponden a los campos modificados por la operación de actualización. El valor de cada campo corresponde al nuevo valor de dichos campos, y no a la operación que generó dicho nuevo valor.

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

{
"_id": { <Resume Token> },
"operationType": "update",
"clusterTime": <Timestamp>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"_id": ObjectId("58a4eb4a30c75625e00d2820")
},
"updateDescription": {
"updatedFields": {
"email": "alice@10gen.com"
},
"removedFields": ["phoneNumber"],
"truncatedArrays": [ {
"field" : "vacation_time",
"newSize" : 36
} ]
}
}

El siguiente ejemplo ilustra un evento update para flujos de cambio abiertos con la opción fullDocument : updateLookup:

{
"_id": { <Resume Token> },
"operationType": "update",
"clusterTime": <Timestamp>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"_id": ObjectId("58a4eb4a30c75625e00d2820")
},
"updateDescription": {
"updatedFields": {
"email": "alice@10gen.com"
},
"removedFields": ["phoneNumber"],
"truncatedArrays": [ {
"field" : "vacation_time",
"newSize" : 36
} ]
},
"fullDocument": {
"_id": ObjectId("58a4eb4a30c75625e00d2820"),
"name": "Alice",
"userName": "alice123",
"email": "alice@10gen.com",
"team": "replication"
}
}

El documento fullDocument representa la versión más actual comprometida por mayoría del documento actualizado. El documento fullDocument puede variar del documento en el momento de la operación de actualización, dependiendo de la cantidad de operaciones intercaladas comprometidas por mayoría que ocurran entre la operación de actualización y la búsqueda del documento.

Volver

Reemplazar

En esta página