Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$ChangeStream
Non pris en charge par Elastic Cluster.
L'étape $changeStream d'agrégation ouvre un curseur de flux de modifications pour surveiller en temps réel les modifications apportées à une collection. Il renvoie les documents relatifs aux événements de modification lorsque des opérations d'insertion, de mise à jour, de remplacement ou de suppression sont effectuées.
Paramètres
-
fullDocument: Spécifie s'il faut renvoyer le document complet pour les opérations de mise à jour. Les options sontdefaultouupdateLookup. -
resumeAfter: facultatif. Token de reprise pour continuer à partir d'un point précis du flux de modifications. -
startAtOperationTime: facultatif. Horodatage à partir duquel démarrer le flux de modifications. -
allChangesForCluster: facultatif. Valeur booléenne. Quandtrue, surveille tous les changements dans le cluster (pour la base de données d'administration). Quandfalse(par défaut), surveille uniquement la collection spécifiée. -
showExpandedEvents: facultatif. Valeur booléenne. Quandtrue, inclut des notifications d'événements en langage de définition des données étendu (DDL), telles quecreateCollectionetcreateIndexes, dans le flux de modifications. Quandfalse(par défaut), ces événements ne sont pas renvoyés. Disponible dans Amazon DocumentDB 8.0 à partir de la version 8.0.2 du moteur.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser la $changeStream scène pour surveiller les modifications apportées à une collection.
Exemple de requête
// 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())); }
Sortie
{
_id: { _data: '...' },
operationType: 'insert',
clusterTime: Timestamp(1, 1234567890),
fullDocument: { _id: 1, item: 'Widget', qty: 10 },
ns: { db: 'test', coll: 'inventory' },
documentKey: { _id: 1 }
}
Exemples de code
Pour afficher un exemple de code permettant d'utiliser l'étape d'$changeStreamagrégation, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :