Definição
MongoDB\ChangeStream::current()Retorna o evento atual no change stream.
function current(): array|object|nullA estrutura de cada documento de evento variará de acordo com o tipo de operação. Consulte Eventos de alteração no manual do MongoDB para obter mais informações.
Return Values
Uma array ou objeto para o evento atual no fluxo de alterações ou null se não houver nenhum evento atual (ou seja, MongoDB\ChangeStream::valid() retorna false). O tipo de retorno depende da opção typeMap para MongoDB\Collection::watch().
Exemplos
Este exemplo relata eventos enquanto itera um change stream.
$uri = 'mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet';
$collection = (new MongoDB\Client($uri))->test->inventory;
$changeStream = $collection->watch();
for ($changeStream->rewind(); true; $changeStream->next()) { if ( ! $changeStream->valid()) { continue; }
$event = $changeStream->current();
$ns = sprintf('%s.%s', $event['ns']['db'], $event['ns']['coll']); $id = json_encode($event['documentKey']['_id']);
switch ($event['operationType']) { case 'delete': printf("Deleted document in %s with _id: %s\n\n", $ns, $id); break;
case 'insert': printf("Inserted new document in %s\n", $ns); echo json_encode($event['fullDocument']), "\n\n"; break;
case 'replace': printf("Replaced new document in %s with _id: %s\n", $ns, $id); echo json_encode($event['fullDocument']), "\n\n"; break;
case 'update': printf("Updated document in %s with _id: %s\n", $ns, $id); echo json_encode($event['updateDescription']), "\n\n"; break; }}Supondo que um documento tenha sido inserido, atualizado e excluÃdo enquanto o script acima iterava o change stream, a saÃda seria semelhante a:
Inserted new document in test.inventory{"_id":{"$oid":"5a81fc0d6118fd1af1790d32"},"name":"Widget","quantity":5}
Updated document in test.inventory with _id: {"$oid":"5a81fc0d6118fd1af1790d32"}{"updatedFields":{"quantity":4},"removedFields":[]}
Deleted document in test.inventory with _id: {"$oid":"5a81fc0d6118fd1af1790d32"}Veja também
Documentação do Change Streams no Manual do MongoDB
Documentação de eventos de alterações no manual do MongoDB