Definición
changeStreamOptionsNovedades en la versión 6.0.
Disponible para ambos
mongody.mongosUn objeto que contiene opciones de configuración de flujo de cambios.
Solo se puede establecer
changeStreamOptionsenmongoso en un conjunto de réplicas principal. El valor se establece para todo el clúster.
Sintaxis
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 de clúster changeStreamOptions, ejecute el siguiente comando en la base de datos admin:
db.adminCommand( { getClusterParameter: "changeStreamOptions" } )
Campos de parámetros
changeStreamOptions.preAndPostImages.expireAfterSecondsNovedades en la versión 6.0.
Predeterminado: 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.
expireAfterSecondscontrola el tiempo que MongoDB conserva las imágenes previas y posteriores.Cuando
expireAfterSecondsoffes, MongoDB utiliza la política de retención predeterminada: las imágenes anteriores y posteriores se conservan hasta que los eventos de flujo de cambio correspondientes se eliminan del registro de operaciones.Para establecer el tiempo mínimo de retención de imágenes previas y posteriores, especifique un valor entero para
expireAfterSeconds.Importante
Servicios que utilizan flujos de cambio, incluidos Los disparadores y la sincronización de dispositivos pueden depender de la disponibilidad de datos de preimagen. Si se establece
expireAfterSecondsun valor de demasiado bajo, podría aumentar el riesgo de interrumpir la sincronización o el procesamiento de los disparadores.Al configurar
expireAfterSecondspara 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.
Agregue tiempo de almacenamiento en búfer para permitir que el servicio se reanude manualmente antes de correr el riesgo de perder datos del registro de operaciones.
Comportamiento
Si se elimina un evento de flujo de cambio del registro de operaciones, las imágenes previas y posteriores correspondientes también se eliminan independientemente del tiempo de retención especificado changeStreamOptions.preAndPostImages.expireAfterSeconds con.
Ejemplo
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 } } } } )