replace
Evento
Resumo
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étodoreplaceOne
é chamado.
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 | O carimbo de data/hora da entrada de registro opcional associada ao evento. Todas as notificações de eventos do fluxo de alterações associadas a uma transação com vários documentos têm o mesmo valor 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 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 | |||
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. |
Exemplos
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
eInsira 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.