Navigation
This version of the documentation is archived and no longer supported. To learn how to upgrade your version of PHP Library Manual, refer to the upgrade documentation.

MongoDB\ChangeStream::getResumeToken()

New in version 1.5.

Definition

MongoDB\ChangeStream::getResumeToken

Returns the cached resume token that will be used to resume the change stream.

function getResumeToken(): array|object|null

Return Values

An array or object, or null if there is no cached resume token. The return type will depend on the typeMap option for the watch() method used to create the change stream.

Examples

This example captures the resume token for a change stream after encountering an invalidate event and uses it to construct a second change stream using the startAfter option.

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

    if ($event['operationType'] === 'invalidate') {
        $startAfter = $changeStream->getResumeToken();
        break;
    }

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

$changeStream = $collection->watch([], ['startAfter' => $startAfter]);