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á.
$ alterar StreamSplitLargeEvent
Esse estágio de agregação não é suportado pelos clusters elásticos.
Esse estágio está disponível a partir da versão 8.0.2 do mecanismo Amazon DocumentDB.
O estágio $changeStreamSplitLargeEvent de agregação é usado em um pipeline $changeStream para dividir eventos que excedam 16 MB em fragmentos menores. Ele retorna cada fragmento sequencialmente por meio do cursor do fluxo de mudança.
Parâmetros
Nenhum. A entrada para o $changeStreamSplitLargeEvent palco deve ser um documento vazio.
Exemplo — MongoDB Shell
O exemplo a seguir demonstra o uso do $changeStreamSplitLargeEvent palco para dividir um evento de alteração de grandes dimensões em vários fragmentos.
Exemplo 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())); }
Saída
{
_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: [] }
}
Exemplos de código
Para ver um exemplo de código para usar o estágio de $changeStreamSplitLargeEvent agregação, escolha a guia do idioma que você deseja usar: