MongoDB\ChangeStream::key()

For the complete MongoDB documentation index, see www.mongodb.com/docs/llms.txt

MongoDB\ChangeStream::key()

Definition

Returns the index of the current event in the change stream.

function key(): integer|null

The index of the first event in a change stream starts at zero and will increment by one for each subsequent event.

Return Values

The index of the current event in the change stream, or null if there is no current event (i.e. MongoDB\ChangeStream::valid().

Examples

This example reports the index of events while iterating a change stream.

<?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();

    printf("%d: %s\n", $changeStream->key(), $event['operationType']);
}

Assuming that a document was inserted, updated, and deleted while the above script was iterating the change stream, the output would then resemble:

0: insert
1: update
2: delete

See Also

  • [MongoDB\Client::watch()](https://www.mongodb.com/docs/php-library/current/reference/method/mongodbclient-watch.md#mongodb-phpmethod-phpmethod.MongoDB-Client--watch--

  • [MongoDB\Collection::watch()](https://www.mongodb.com/docs/php-library/current/reference/method/mongodbcollection-watch.md#mongodb-phpmethod-phpmethod.MongoDB-Collection--watch--

  • [MongoDB\Database::watch()](https://www.mongodb.com/docs/php-library/current/reference/method/mongodbdatabase-watch.md#mongodb-phpmethod-phpmethod.MongoDB-Database--watch--

  • Iterator::key()

  • [Tailable Cursor Iteration](https://www.mongodb.com/docs/php-library/current/crud/query/cursor.md#std-label-php-tailable-cursor

  • Change Streams documentation in the MongoDB manual