Os fluxos de mudança observam collections, bancos de dados ou implantações em busca de alterações.
Quando uma alteração ocorre em um recurso monitorado, o change stream retorna um documento de notificação de evento de alteração, com informações sobre a operação e as mudanças que fez.
Tipos de operação
Evento | Descrição |
|---|---|
Ocorre na criação de uma collection. Exige que você configure a opção showExpandedEvents para Novidades na versão 6.0.: | |
Ocorre na criação de índices na collection. Exige que você configure a opção showExpandedEvents para Novidades na versão 6.0.: | |
Ocorre quando um documento é removido da collection. | |
Ocorre quando uma collection é descartada de um banco de dados. | |
Ocorre quando um banco de dados é descartado. | |
Ocorre quando um índice é descartado da collection. Exige que você configure a opção showExpandedEvents para Novidades na versão 6.0.: | |
Ocorre quando uma operação adiciona documentos a uma collection. | |
Ocorre quando uma operação renderiza o fluxo de alteração inválido. | |
Ocorre quando uma collection é modificada. Exige que você configure a opção showExpandedEvents para Novidades na versão 6.0.: | |
Ocorre quando uma chave de shard é modificada. Novidades na versão 6.1.: | |
Ocorre quando uma collection é renomeada. | |
Ocorre quando uma operação de atualização remove um documento de uma coleta e o substitui por um novo documento. | |
Ocorre quando a chave de fragmentação de uma coleta e a distribuição de dados mudam. Exige que você configure a opção showExpandedEvents para Novidade na 6.1versão(Também disponível 6.0.14 na).: | |
Ocorre quando uma collection é fragmentada. Exige que você configure a opção showExpandedEvents para Novidades na versão 6.0.: | |
Ocorre quando uma operação atualiza um documento em uma collection. |
Observação
O servidor pode retornar operações de atualização como eventos de substituição quando a representação de substituição for mais concisa. Se você escutar operações de atualização, escute também as operações de substituição.
Retomar token
Cada evento de alteração inclui um campo _id, que é um objeto BSON que serve como identificador para o evento de fluxo de alterações. Para obter um exemplo de como retomar um fluxo de alterações por resumeToken, consulte Retomar um fluxo de alterações.
Eventos Expandidos
Novidades na versão 6.0.:
Change streams oferecem suporte a notificações de eventos de linguagem de definição de dados (DDL), como createIndexes e dropIndexes. Para incluir eventos expandidos, abra um cursor de change stream com a opção showExpandedEvents.
Por exemplo:
let cur = db.names.watch( [ ], { showExpandedEvents: true } ) cur.next()
let cur = db.names.aggregate( [ { $changeStream: { showExpandedEvents: true } } ] ) cur.next()