PHP Classes

File: vendor/mongodb/mongodb/docs/reference/method/MongoDBChangeStream-current.txt

Recommend this page to a friend!
  Classes of walid laggoune   MongoDB Queue PHP Query Execute   vendor/mongodb/mongodb/docs/reference/method/MongoDBChangeStream-current.txt   Download  
File: vendor/mongodb/mongodb/docs/reference/method/MongoDBChangeStream-current.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: MongoDB Queue PHP Query Execute
Query and execute multiple queries using MongoDB
Author: By
Last change:
Date: 4 years ago
Size: 3,192 bytes
 

Contents

Class file image Download
================================ MongoDB\\ChangeStream::current() ================================ .. default-domain:: mongodb .. contents:: On this page :local: :backlinks: none :depth: 1 :class: singlecol Definition ---------- .. phpmethod:: MongoDB\\ChangeStream::current() Returns the current event in the change stream. .. code-block:: php function current(): array|object|null The structure of each event document will vary based on the operation type. See :manual:`Change Events </reference/change-events/>` in the MongoDB manual for more information. Return Values ------------- An array or object for the current event in the change stream, or ``null`` if there is no current event (i.e. :phpmethod:`MongoDB\\ChangeStream::valid()` returns ``false``). The return type will depend on the ``typeMap`` option for :phpmethod:`MongoDB\\Collection::watch()`. Examples -------- This example reports events while iterating a change stream. .. code-block:: php <?php $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; } } Assuming that a document was inserted, updated, and deleted while the above script was iterating the change stream, the output would then resemble: .. code-block:: none 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"} See Also -------- - :phpmethod:`MongoDB\\Client::watch()` - :phpmethod:`MongoDB\\Collection::watch()` - :phpmethod:`MongoDB\\Database::watch()` - :php:`Iterator::current() <iterator.current>` - :ref:`Tailable Cursor Iteration <php-tailable-cursor>` - :manual:`Change Streams </changeStreams>` documentation in the MongoDB manual - :manual:`Change Events </reference/change-events/>` documentation in the MongoDB manual