Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / /

changeStreamOptions

Nesta página

  • Definição
  • Sintaxe
  • Campos de parâmetros
  • Comportamento
  • Exemplo
changeStreamOptions

Novidades na versão 6.0.

Disponível para mongod e mongos.

Um objeto que contém opções de configuração do change stream .

Você só pode definir changeStreamOptions em mongos ou um conjunto de réplicas principal. O valor é definido em todo o cluster.

Para configurar o changeStreamOptions para seu sistema, execute o seguinte comando no banco de dados do admin :

db.adminCommand( { setClusterParameter: { changeStreamOptions: <value> } } )

Para exibir os valores atuais do parâmetro de cluster do changeStreamOptions , execute o seguinte comando no banco de dados do admin :

db.adminCommand( { getClusterParameter: "changeStreamOptions" } )
changeStreamOptions.preAndPostImages.expireAfterSeconds

Novidades na versão 6.0.

Padrão: DESLIGADO

Controla a política de retenção das imagens antes e depois do change stream. Pré-imagens e pós-imagens são as versões de um documento antes e depois da modificação do documento, respectivamente. expireAfterSeconds controla por quanto tempo o MongoDB retém as pré e pós-imagens.

Quando expireAfterSeconds está definido como off, o MongoDB usa a política de retenção padrão: pré-imagens e pós-imagens são retidas até os eventos de change streams serem removidos do oplog.

Para definir o tempo mínimo de retenção pré e pós-imagem, especifique um valor inteiro para expireAfterSeconds.

Importante

Os serviços que usam change streams, incluindo triggers e Device Sync, podem depender da disponibilidade de dados pré-imagem. Se você definir expireAfterSeconds muito baixo, poderá aumentar o risco de interromper a sincronização ou acionar o processamento.

Ao configurar expireAfterSeconds para pré-imagens, certifique-se de:

  • Especifique um valor que não seja inferior ao atraso típico do change stream para o serviço.

  • Adicione tempo de buffer para permitir que o serviço seja retomado manualmente antes de correr o risco de perda de dados do oplog.

Se um change stream for removido do oplog, as imagens pré e pós correspondentes também serão excluídas, independentemente do tempo de retenção especificado com changeStreamOptions.preAndPostImages.expireAfterSeconds.

O exemplo a seguir define o tempo de retenção para pré e pós-imagens em change stream para 100 segundos:

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

Voltar

auditConfig