As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$changeStream
Não é suportado pelo cluster elástico.
O estágio $changeStream de agregação abre um cursor de fluxo de alterações para monitorar as alterações em tempo real em uma coleção. Ele retorna documentos de eventos de alteração quando ocorrem operações de inserção, atualização, substituição ou exclusão.
Parâmetros
-
fullDocument: especifica se o documento completo deve ser devolvido para operações de atualização. As opções sãodefaultouupdateLookup. -
resumeAfter: opcional. Retomar o token para continuar a partir de um ponto específico no fluxo de alterações. -
startAtOperationTime: opcional. Carimbo de data/hora a partir do qual iniciar o fluxo de alterações. -
allChangesForCluster: opcional. Valor booleano. Quandotrue, observa todas as alterações no cluster (para banco de dados administrativo). Quandofalse(padrão), observa somente a coleção especificada. -
showExpandedEvents: opcional. Valor booleano. Quandotrue, inclui notificações de eventos de linguagem de definição de dados (DDL) expandida, comocreateCollectionecreateIndexes, no fluxo de alterações. Quandofalse(padrão), esses eventos não são retornados. Disponível no Amazon DocumentDB 8.0 a partir da versão 8.0.2 do mecanismo.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra o uso do $changeStream palco para monitorar alterações em uma coleção.
Exemplo de consulta
// Open change stream first const changeStream = db.inventory.aggregate([ { $changeStream: { fullDocument: "updateLookup" } } ]); // In another session, insert a document db.inventory.insertOne({ _id: 1, item: "Widget", qty: 10 }); // Back in the first session, read the change event if (changeStream.hasNext()) { print(tojson(changeStream.next())); }
Saída
{
_id: { _data: '...' },
operationType: 'insert',
clusterTime: Timestamp(1, 1234567890),
fullDocument: { _id: 1, item: 'Widget', qty: 10 },
ns: { db: 'test', coll: 'inventory' },
documentKey: { _id: 1 }
}
Exemplos de código
Para ver um exemplo de código para usar o estágio de $changeStream agregação, escolha a guia do idioma que você deseja usar: