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 | |||
---|---|---|---|---|---|
| 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 | |||
| 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 | |||
| 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 | |||
| documento | O novo documento criado pela operação. | |||
| 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. | |||
| documento | O namespace (banco de dados e/ou coleção) afetado pelo evento. | |||
| string | O nome da coleção onde o evento ocorreu. | |||
| string | O nome do banco de dados onde ocorreu o evento. | |||
| string | O tipo de operação que os relatórios de notificação de alteração. Retorna um valor de | |||
| 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.