Docs Menu
Docs Home
/ /

Insertar evento

insert

Un evento insert ocurre cuando una operación agrega documentos a una colección.

Campo
Tipo
Descripción

_id

Documento

A ObjetoBSON, que sirve como identificador del evento del flujo de cambios. Este valor se utiliza como resumeToken para el resumeAfter parámetro al reanudar un flujo de cambios. Los campos del _id objeto dependen de las versiones de MongoDB y, en algunos casos, de la versión de compatibilidad de características (FCV) vigente al momento de la apertura o reanudación del flujo de cambios.

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.

collectionUUID

UUID

UUID que identifica la colección donde ocurrió el cambio.

Novedades en la versión 6.0.

El campo collectionUUID solo se incluye si el flujo de cambios se crea con el campo showExpandedEvents establecido en true. Para obtener más información, consulte mostrarEventosExpandidos.

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 por la operación.

Cambiado en la versión 6.0.

A partir de MongoDB,6.0 si configura la changeStreamPreAndPostImages opción usando, o, entonces db.createCollection() create collModel fullDocument campo muestra el documento después de que fue insertado, reemplazado o actualizado (la imagen posterior del documento). fullDocument siempre se incluye para insert los eventos.

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

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 del registro de operaciones asociada con el evento de operación de la base de datos.

Novedades en la versión 6.0.

El comando puede producir update update diferentes eventos de cambio (no solo) dependiendo de los cambios reales que realice en la colección.

Evento de cambio
Descripción

La operación de actualización modificó un documento existente.

La operación de actualización reemplazó el documento o produjo una diferencia que era más detallada que el documento original, lo que provocó que MongoDB lo reemplazara.

La operación de actualización intentó actualizar un documento inexistente y, en su lugar, lo agregó a la colección. Esto solo ocurre cuando la actualización se ejecuta con la opción upsert habilitada.

El siguiente ejemplo ilustra un evento insert:

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

El campo documentKey incluye los campos _id y userName. Esto indica que la colección engineering.users está fragmentada, con una clave de fragmentación en userName y _id.

El documento fullDocument representa la versión del documento en el momento de la inserción.

Volver

dropIndexes

En esta página