Pré-imagens de documentos
Nesta página
Visão geral
Cada execução de trigger de banco de dados tem um evento de alteração relacionado. Você pode configurar esses eventos de alteração para incluir pré-imagens de documentos. Uma pré-imagem é um snapshot de um documento antes de uma alteração.
Exemplo
Considere updateOne
em uma collection com pré-imagens:
pets.updateOne( { name: "Fido" }, { $inc: { age: 1 } } )
As pré-imagens adicionam os seguintes dados para gravar eventos de alteração de operação
a pré-imagem do documento no campo
fullDocumentBeforeChange
Pré-imagem - o documento completo como existia antes da alteração{ "name": "Fido", "age": 3 } a pós-imagem do documento no campo
fullDocument
Postimage - o documento completo imediatamente após a alteração{ "name": "Fido", "age": 4 }
Desempenho
Para clusters que executam o MongoDB versão 6.0 e mais recente, os triggers usam o recurso de pré-imagens defluxo de alterações integrado do cluster. Versões mais antigas do MongoDB armazenam pré-imagens diretamente no oplog. Ambos adicionam sobrecarga de armazenamento e computação para cada operação na coleção, o que pode causar problemas de desempenho para coleções com alta taxa de transferência de gravação.
Habilitar pré-imagens de documentos
Você pode habilitar as pré-imagens ao configurar um Database Tools. Document Preimage é uma configuração na configuração do trigger. Alterne isso para ativar as pré-imagens do documento para a collection.
Ver collection habilitadas para pré-imagem
Para visualizar a lista de collection que armazenam pré-imagens de documento:
Navegue até a tela de configuração do Linked Data Source .
Expanda a seção Advanced Configuration.
Esta seção contém a tabela Preimage Preferences by Collection .
Esta tabela lista todas as collection que armazenam pré-imagens no oplog. Habilitar pré-imagens para uma collection se aplica a todas as collection. Isso inclui collection vinculadas a Atlas Triggers em um aplicativo diferente. A collection sem Atlas Triggers que usam pré-imagens também aparecem aqui.
Desativar pré-imagens para uma collection
Você pode desativar as pré-imagens em nível de collection na interface do usuário do App Services.
Para desativar as pré-imagens para uma collection:
(Opcional) Desative as pré-imagens de documento para Atlas Triggers na collection. Os Atlas Triggers com pré-imagens continuam a ser acionados após a desativação das pré-imagens. Mas eles não têm o campo
fullDocumentBeforeChange
em alterar eventos. Isso inclui Atlas Triggers em outros aplicativos do App Services.Encerre a sincronização se a coleção fizer parte de um cluster sincronizado.
Visualize a tabela Preferências de pré-imagem por coleção . Pressione o botão Disable para uma coleção. Isso desativa as pré-imagens para essa collection.
Reative a sincronização, se a collection fizer parte de um cluster sincronizado.
Aviso
Restaurar a sincronização após encerrar a sincronização
Quando você encerra e reativa o Atlas Device Sync, os clientes não podem mais sincronizar. Seu cliente deve implementar um manipulador de redefinição de cliente para restaurar a sincronização. Este manipulador pode descartar ou tentar recuperar alterações não sincronizadas.