update
Evento
Resumo
Descriçã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
O tipo de Para obter um exemplo de como retomar um fluxo de alterações por | |||
clusterTime | Timestamp |
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 Em clusters fragmentados, eventos com o mesmo Para identificar eventos para uma única transação, você pode usar a combinação de | |||
documentKey | documento | Documento que contém o valor Para coleções fragmentadas, este campo também exibe a chave de fragmentação completa do documento. O campo | |||
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 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 | |||
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. |
Exemplo
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.