Resumo
Descrição
Campo | Tipo | Descrição |
|---|---|---|
| Documento | Um objetoBSON , que serve como identificador para o evento de fluxo de alterações . Este valor é utilizado como 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 Eventos com o mesmo Para identificar eventos para uma única transação, você pode usar a combinação de Alterado na versão 8.0. |
| UUID | UUID identificando a coleção onde ocorreu a alteração. Novidades na versão 6.0. O campo |
| 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 documento criado pela operação. Alterado na versão 6.0. A partir do MongoDB 6.0, se você definir a opçã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. |
| A data e hora do servidor da operação do banco de dados. Novidades na versão 6.0. |
Comportamento
Atualizar operações
O comando update pode produzir diferentes eventos de alteração (não apenas update), dependendo das alterações reais feitas na collection.
Alterar evento | Descrição |
|---|---|
A operação de atualização modificou um documento existente . | |
A operação de atualização substituiu o documento ou gerou um diff mais verboso do que o documento original , fazendo com que o MongoDB o substituísse. | |
A operação de atualização tentou atualizar um documento que não existe e, em vez disso, adicionou o documento à coleção. Isto ocorre somente quando a atualização é executada com a opção |
Exemplo
O exemplo seguinte ilustra um evento insert:
{ "_id": { <Resume Token> }, "operationType": "insert", "clusterTime": <Timestamp>, "wallTime": <ISODate>, "ns": { "db": "engineering", "coll": "users" }, "documentKey": { "userName": "alice123", "_id": ObjectId("599af247bb69cd89961c986d") }, "fullDocument": { "_id": ObjectId("599af247bb69cd89961c986d"), "userName": "alice123", "name": "Alice" } }
O campo documentKey inclui o campo _id e userName . Isso indica que a collection engineering.users está fragmentada, com uma chave de shard em userName e _id.
O documento fullDocument representa a versão do documento no momento da inserção.