Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$changeStream
Non supportato dal cluster Elastic.
La fase di $changeStream aggregazione apre un cursore del flusso di modifiche per monitorare le modifiche in tempo reale a una raccolta. Restituisce i documenti degli eventi di modifica quando si verificano operazioni di inserimento, aggiornamento, sostituzione o eliminazione.
Parametri
-
fullDocument: specifica se restituire il documento completo per le operazioni di aggiornamento. Le opzioni sonodefaultoupdateLookup. -
resumeAfter: facoltativo. Il token Resume proseguirà da un punto specifico del flusso di modifiche. -
startAtOperationTime: facoltativo. Timestamp da cui iniziare il flusso di modifiche. -
allChangesForCluster: facoltativo. Valore booleano. Quandotrue, controlla tutte le modifiche nel cluster (per il database di amministrazione). Quandofalse(impostazione predefinita), controlla solo la raccolta specificata.
Esempio (MongoDB Shell)
L'esempio seguente dimostra l'utilizzo dello $changeStream stage per monitorare le modifiche a una raccolta.
Esempio di interrogazione
// 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())); }
Output
{
_id: { _data: '...' },
operationType: 'insert',
clusterTime: Timestamp(1, 1234567890),
fullDocument: { _id: 1, item: 'Widget', qty: 10 },
ns: { db: 'test', coll: 'inventory' },
documentKey: { _id: 1 }
}
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo della fase di $changeStream aggregazione, scegli la scheda relativa alla lingua che desideri utilizzare: