Overview
Cada La ejecución del disparador de base de datos tiene un evento de cambio relacionado. Puede configurar estos eventos de cambio para incluir preimágenes del documento. Una preimagen es una instantánea de un documento antes de un cambio.
Ejemplo
Considerar updateOne en una colección con preimágenes:
pets.updateOne( { name: "Fido" }, { $inc: { age: 1 } } )
Las preimágenes agregan los siguientes datos para escribir eventos de cambio de operación
la preimagen del documento en el campo
fullDocumentBeforeChangePreimagen: el documento completo tal como existía antes del cambio{ "name": "Fido", "age": 3 } la imagen posterior del documento en el campo
fullDocumentPostimagen: el documento completo inmediatamente después del cambio{ "name": "Fido", "age": 4 }
Rendimiento
En los clústeres que ejecutan MongoDB versión 6.0 y posteriores, los desencadenadores utilizan la función integrada de preimágenes del flujo de cambios. Las versiones anteriores de MongoDB almacenan las preimágenes directamente en el registro de operaciones. Ambas opciones añaden almacenamiento y sobrecarga de procesamiento para cada operación en la colección, lo que puede causar problemas de rendimiento en colecciones con un alto rendimiento de escritura.
Habilitar preimágenes de documentos
Puede habilitar preimágenes cuando configura un disparador de base de datos. Document Preimage Es una opción de configuración de disparadores. Actívela para habilitar las preimágenes de documentos para la colección.
Ver colecciones con preimagen habilitada
Para ver la lista de colecciones que almacenan preimágenes de documentos:
Navegue a la pantalla de configuración Linked Data Source.
Expandir la sección Advanced Configuration.
Esta sección contiene la tabla Preimage Preferences by Collection.
Esta tabla enumera todas las colecciones que almacenan preimágenes en el registro de operaciones. La habilitación de preimágenes para una colección se aplica a todas las colecciones. Esto incluye las colecciones vinculadas a activadores de una aplicación diferente. Las colecciones sin activadores que usan preimágenes también aparecen aquí.
Deshabilitar preimágenes para una colección
Puede deshabilitar las preimágenes a nivel de colección en la interfaz de usuario de App Services.
Para deshabilitar las preimágenes de una colección:
(Opcional) Desactivar las preimágenes de documento para los activadores de la colección. Los activadores con preimágenes siguen activándose después de desactivarlas. Sin embargo, no tienen el campo
fullDocumentBeforeChangeen los eventos de cambio. Esto incluye activadores de otras aplicaciones de App Services.Terminar la sincronización, si la colección es parte de un clúster sincronizado.
Consulte la tabla "Preferencias de preimágenes por colección". Pulse el Disable botón para una colección. Esto desactivará las preimágenes de esa colección.
Vuelva ahabilitar la sincronización, si la colección es parte de un clúster sincronizado.
Advertencia
Restaurar la sincronización después de finalizarla
Al finalizar y reactivar Atlas Device Sync, los clientes ya no podrán sincronizar. Su cliente debe implementar un controlador de restablecimiento de cliente para restaurar la sincronización. Este controlador puede descartar o intentar recuperar los cambios no sincronizados.