Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$changeStream
Elastic Cluster no lo admite.
La etapa de $changeStream agregación abre un cursor de flujo de cambios para monitorear los cambios en tiempo real en una colección. Devuelve los documentos de eventos de cambio cuando se realizan operaciones de inserción, actualización, reemplazo o eliminación.
Parámetros
-
fullDocument: especifica si se debe devolver el documento completo para las operaciones de actualización. Las opciones sondefaultyupdateLookup. -
resumeAfter: opcional. Reanuda el token para continuar desde un punto específico del flujo de cambios. -
startAtOperationTime: opcional. Marca de tiempo desde la que iniciar el flujo de cambios. -
allChangesForCluster: opcional. Valor booleano. Cuándotrue, observa todos los cambios en el clúster (para la base de datos de administración). Cuandofalse(predeterminado), solo observa la colección especificada. -
showExpandedEvents: opcional. Valor booleano. Cuandotrue, incluye las notificaciones de eventos del lenguaje de definición de datos ampliado (DDL), comocreateCollectionycreateIndexes, en el flujo de cambios. Cuandofalse(predeterminado), estos eventos no se devuelven. Disponible en Amazon DocumentDB 8.0 a partir de la versión 8.0.2 del motor.
Ejemplo (MongoDB Shell)
El siguiente ejemplo demuestra cómo usar el $changeStream escenario para supervisar los cambios en una colección.
Ejemplo 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())); }
Salida
{
_id: { _data: '...' },
operationType: 'insert',
clusterTime: Timestamp(1, 1234567890),
fullDocument: { _id: 1, item: 'Widget', qty: 10 },
ns: { db: 'test', coll: 'inventory' },
documentKey: { _id: 1 }
}
Ejemplos de código
Para ver un ejemplo de código sobre el uso de la etapa de $changeStream agregación, elija la pestaña correspondiente al idioma que desea usar: