Menu Docs

Página inicial do DocsServiços Atlas App

Pré-imagens de documentos

Nesta página

  • Visão geral
  • Desempenho
  • Habilitar pré-imagens de documentos
  • Ver collection habilitadas para pré-imagem
  • Desativar pré-imagens para uma collection

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
    }

Para clusters que executam o MongoDB versão 6.0 e mais recentes, os triggers usam o recurso de pré-imagens de fluxo 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.

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.

Para visualizar a lista de collection que armazenam pré-imagens de documento:

  1. Navegue até a tela de configuração do Linked Data Source .

  2. 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.

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:

  1. (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.

  2. Encerre a sincronização se a coleção fizer parte de um cluster sincronizado.

  3. 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.

  4. 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.

← Protocolo de fio