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

replace Evento

Nesta página

  • Resumo
  • Descrição
  • Exemplos
replace

Um evento replace ocorre quando uma operação de atualização remove um documento de uma coleta e o substitui por um novo documento, como quando o método replaceOne é chamado.

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 tipo de _data depende das versões do MongoDB e, em alguns casos, da versão de compatibilidade de recursos (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.

Em clusters fragmentados, 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.

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.

documentKey

documento

Documento que contém o valor _id do documento criado ou modificado pela operação CRUD.

Para coleções fragmentadas, este campo também exibe a chave de fragmentação completa do documento. O campo _id não se repete se já fizer parte da chave fragmentada.

fullDocument

documento

O novo documento criado pela operação.

lsid

documento

O identificador da sessão associada à transação.

Somente presente se a operação fizer parte de uma transação de vários documentos.

ns

documento

O namespace (banco de dados e/ou coleção) afetado pelo evento.

ns.coll

string

O nome da coleção onde o evento ocorreu.

ns.db

string

O nome do banco de dados onde ocorreu o evento.

operationType

string

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

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

txnNumber

Número longo

Juntamente com o lsid, um número que ajuda a identificar exclusivamente uma transação.

Somente presente se a operação fizer parte de uma transação de vários documentos.

O exemplo seguinte ilustra um evento replace:

{
"_id": { <Resume Token> },
"operationType": "replace",
"clusterTime": <Timestamp>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"_id": ObjectId("599af247bb69cd89961c986d")
},
"fullDocument": {
"_id": ObjectId("599af247bb69cd89961c986d"),
"userName": "alice123",
"name": "Alice"
}
}

Uma operação replace utiliza o comando de atualização e consiste em dois estágios:

  • Exclua o documento original com o documentKey e

  • Insira o novo documento usando o mesmo documentKey

O fullDocument de um evento replace representa o documento após a inserção do documento de substituição.

Voltar

renomear