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 se puede establecer changeStreamOptions en mongos o en un conjunto de réplicas principal. El valor se establece para todo el clúster.

Para configurar changeStreamOptions para su implementación, ejecute el siguiente comando en la base de datos 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 el tiempo que MongoDB conserva las imágenes previas y posteriores.

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 cambio, 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 imágenes previas, asegúrese de lo siguiente:

  • Especifique un valor que no sea inferior al retraso típico del flujo de cambio 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 de las imágenes previas y posteriores en los flujos de cambio en 100 segundos:

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

Volver

auditConfig

En esta página