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

changeStreamOptions

changeStreamOptions

Novedades en la versión 6.0.

Disponible para ambos mongod y mongos.

Un objeto que contiene opciones de configuración de flujo de cambios.

Solo puede configurar changeStreamOptions en mongos o en un primario de set de réplicas. El valor se establece a nivel de clúster.

Para configurar changeStreamOptions para su implementación, ejecute el siguiente comando en la base de datos de admin:

db.adminCommand( { setClusterParameter: { changeStreamOptions: <value> } } )

Para ver los valores actuales del parámetro del clúster changeStreamOptions, ejecute el siguiente comando en la base de datos admin:

db.adminCommand( { getClusterParameter: "changeStreamOptions" } )
changeStreamOptions.preAndPostImages.expireAfterSeconds

Novedades en la versión 6.0.

por defecto: desactivado

Controla la política de retención de imágenes previas y posteriores del flujo de cambios. Las imágenes previas y posteriores son las versiones de un documento antes y después de su modificación, respectivamente. expireAfterSeconds controla cuánto tiempo MongoDB retiene preimágenes y post-imágenes.

Cuando expireAfterSeconds está off, MongoDB usa la política de retención por defecto: las preimágenes y postimágenes se retienen hasta que los correspondientes eventos de flujo de cambios se eliminen del oplog.

Para establecer el tiempo mínimo de retención de preimagen y postimagen, especifica un valor entero para expireAfterSeconds.

Importante

Servicios que utilizan flujos de cambios, incluidos Disparadores y Device Sync pueden depender de la disponibilidad de datos previos a la imagen. Si estableces expireAfterSeconds demasiado bajo, puedes aumentar el riesgo de interrumpir la sincronización o el procesamiento de triggers.

Al configurar expireAfterSeconds para preimágenes, asegúrate de que:

  • Especifique un valor que no sea inferior a la demora típica del flujo de cambios para el servicio.

  • Agrega tiempo de colchón para permitir que el servicio se reanude manualmente antes de arriesgar la pérdida de datos de oplog.

Si se elimina un evento de flujo de cambios del oplog, entonces las imágenes previas y posteriores correspondientes también se eliminan, independientemente del tiempo de retención especificado con changeStreamOptions.preAndPostImages.expireAfterSeconds.

El siguiente ejemplo establece el tiempo de retención para preimágenes y postimágenes en flujos de cambios en 100 segundos:

db.runCommand( {
setClusterParameter: {
changeStreamOptions: { preAndPostImages: { expireAfterSeconds: 100 } }
}
} )

Volver

auditConfig

En esta página