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

update Evento

Nesta página

  • Resumo
  • Descrição
  • Exemplo
update

Um evento update ocorre quando uma operação atualiza um documento em uma coleção.

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 documento criado ou modificado por uma operação CRUD.

Este campo aparece somente se você configurou o fluxo de alteração com fullDocument configurado para updateLookup. Quando você configura o fluxo de alterações com updateLookup, o campo representa a versão atual confirmada pela maioria do documento modificado pela operação de atualização. O documento pode estar diferente das alterações descritas no updateDescription se outras operações confirmadas pela maioria tiverem modificado o documento entre a operação de atualização original e a pesquisa completa do documento.

Para mais informações, consulte Pesquisar documento completo para atualizar operações.

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 update para estes eventos de alteração.

updateDescription
documento

Um documento que descreve os campos que foram atualizados ou removidos pela operação de atualização.

updateDescription.
removedFields
array

Uma array de campos que foram removidos pela operação de atualização.

updateDescription.
truncatedArrays
array

Uma array de documentos que registram truncamentos de array executados com atualizações baseadas em pipelin usando uma ou mais das seguintes etapas:

Se toda a array for substituída, as truncações serão reportadas em updateDescription.updatedFields.

updateDescription.
truncatedArrays.
field
string

O nome do campo truncado.

updateDescription.
truncatedArrays.
newSize
inteiro

O número de elementos na array truncada.

updateDescription.
updatedFields
documento

Um documento cujas chaves correspondem aos campos que foram modificados pela operação de atualização. O valor de cada campo corresponde ao novo valor desses campos, em vez da operação que resultou no novo valor.

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 update:

{
"_id": { <Resume Token> },
"operationType": "update",
"clusterTime": <Timestamp>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"_id": ObjectId("58a4eb4a30c75625e00d2820")
},
"updateDescription": {
"updatedFields": {
"email": "alice@10gen.com"
},
"removedFields": ["phoneNumber"],
"truncatedArrays": [ {
"field" : "vacation_time",
"newSize" : 36
} ]
}
}

O exemplo seguinte ilustra um evento update para alterar fluxos abertos com a opção fullDocument : updateLookup:

{
"_id": { <Resume Token> },
"operationType": "update",
"clusterTime": <Timestamp>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"_id": ObjectId("58a4eb4a30c75625e00d2820")
},
"updateDescription": {
"updatedFields": {
"email": "alice@10gen.com"
},
"removedFields": ["phoneNumber"],
"truncatedArrays": [ {
"field" : "vacation_time",
"newSize" : 36
} ]
},
"fullDocument": {
"_id": ObjectId("58a4eb4a30c75625e00d2820"),
"name": "Alice",
"userName": "alice123",
"email": "alice@10gen.com",
"team": "replication"
}
}

O documento fullDocument representa a versão mais atual acordada majoritariamente do documento atualizado. O documento fullDocument pode variar do documento no momento da operação de atualização, dependendo do número de operações de intercalação confirmadas que ocorrem entre a operação de atualização e a pesquisa do documento.

Voltar

replace