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

invalidate

Nesta página

  • Resumo
  • Descrição
  • Exemplo
invalidate

Um evento invalidate ocorre quando uma operação torna o fluxo de alterações inválido. Por exemplo, um fluxo de alterações aberto em uma coleção que foi posteriormente descartada causaria um evento invalidate.

Campo
Tipo
Descrição

_id

Documento

Um objeto BSON que serve como um identificador para o evento de fluxo de alterações. Este valor é utilizado como resumeToken para o parâmetro resumeAfter ao retomar um fluxo de alteração. O objeto _id tem o seguinte formulário:

{
"_data" : <BinData|hex string>
}

O _data tipo de depende das versões do MongoDB e, em alguns casos, da versão de compatibilidade do recurso (FCV) no momento da abertura ou retomada do fluxo de alterações.Consulte Tokens de currículo para obter a lista completa de _data tipos.

Para obter um exemplo de como retomar um fluxo de alterações por resumeToken, consulte Retomar um fluxo de alterações.

clusterTime

Timestamp

clusterTime é o registro de data/hora da entrada de registro opcional associada ao evento.

Devido aos limites de tamanho do oplog , transações com vários documentos podem criar várias entradas no oplog. Em uma transação, os eventos de change stream encenados em uma determinada entrada do oplog compartilham o mesmo clusterTime.

Eventos com o mesmo clusterTime podem não estar relacionados à mesma transação. Alguns eventos não estão nem um pouco relacionados a uma transação. A partir do MongoDB 8.0, isso pode ser verdade para eventos em qualquer sistema. Nas versões anteriores, este comportamento era possível apenas para eventos em um cluster fragmentado.

Para identificar eventos para uma única transação, você pode usar a combinação de lsid e txnNumber no documento de eventos do fluxo de alterações.

Alterado na versão 8.0.

operationType

string

O tipo de operação que os relatórios de notificação de alteração.

Retorna um valor de invalidate para estes eventos de alteração.

wallTime

A data e hora do servidor da operação do banco de dados. wallTime difere de clusterTime em que clusterTime é um carimbo de data/hora obtido da entrada oplog associada ao evento de operação do banco de dados.

Novidades na versão 6.0.

O exemplo seguinte ilustra um evento invalidate:

{
"_id": { <Resume Token> },
"operationType": "invalidate",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>
}

Change streams abertos em colleções geram um evento invalidate quando ocorre uma operação de descarte, renomeação ou dropDatabase que afeta a coleção monitorada.

Os fluxos de mudança abertos nos bancos de dados geram um evento invalidate quando ocorre um evento dropDatabase que afeta o banco de dados monitorado.

invalidate eventos fechar o cursor do fluxo de alterações.

Não é possível usar resumeAfter para retomar um fluxo de alterações depois que umevento de invalidação (por exemplo, uma queda ou renomeação de coleção) fechar o fluxo. Em vez disso, você pode usar startAfter para iniciar um novo fluxo de alterações após um evento de invalidação.

Voltar

insert