Docs Menu
Docs Home
/ / /
PHP Library Manual
/ / /

MongoDB\ChangeStream::getResumeToken()

On this page

  • Definition
  • Return Values
  • Examples
  • See Also

New in version 1.5.

MongoDB\ChangeStream::getResumeToken()

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

function getResumeToken(): array|object|null

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.

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]);
  • MongoDB\Client::watch()

  • MongoDB\Collection::watch()

  • MongoDB\Database::watch()

  • Resume a Change Stream documentation in the MongoDB manual

Back

getCursorId()