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.
$cambiar StreamSplitLargeEvent
Los clústeres elásticos no admiten esta etapa de agregación.
Esta etapa está disponible a partir de la versión 8.0.2 del motor Amazon DocumentDB.
La fase de $changeStreamSplitLargeEvent agregación se utiliza dentro de una canalización de $ChangeStream para dividir los eventos que superen los 16 MB en fragmentos más pequeños. Devuelve cada fragmento de forma secuencial mediante el cursor de flujo de cambios.
Parámetros
Ninguna. La entrada al $changeStreamSplitLargeEvent escenario debe ser un documento vacío.
Ejemplo: MongoDB Shell
El siguiente ejemplo demuestra cómo usar el $changeStreamSplitLargeEvent escenario para dividir un evento de cambio sobredimensionado en varios fragmentos.
Ejemplo de consulta
// Insert a document db.inventory.insertOne({ _id: 1, item: "Widget", payload: "x".repeat(9 * 1024 * 1024) }) // Open change stream with the $changeStreamSplitLargeEvent stage var changeStream = db.inventory.aggregate([ { $changeStream: { fullDocument: "updateLookup" } }, { $changeStreamSplitLargeEvent: {} } ]); // Update the document db.inventory.updateOne({ _id: 1 }, { $set: { payload: "y".repeat(9 * 1024 * 1024) } }) // Read the change event if (changeStream.hasNext()) { print(tojson(changeStream.next())); }
Salida
{
_id: { _data: '...' },
splitEvent: { fragment: 1, of: 2},
ns: { db: 'test', coll: 'inventory' },
clusterTime: Timestamp(4, 1789154779),
documentKey: { _id: 1 },
fullDocument: { _id: 1, item: 'Widget', payload: yyyyyyyy...(9437184 chars) },
operationType: 'update',
}
{
_id: { _data: '...' },
splitEvent: { fragment: 2, of: 2},
updateDescription: { updatedFields: { payload: yyyyyyyy...(9437184 chars) }, removedFields: [] }
}
Ejemplos de código
Para ver un ejemplo de código sobre el uso de la etapa de $changeStreamSplitLargeEvent agregación, elija la pestaña correspondiente al idioma que desea usar: