MongoDB\ChangeStream::getResumeToken()
新在版本1.5.
定义
返回值
一个数组或对象,如果没有缓存的恢复令牌,则为 null
。返回类型将取决于用于创建更改流的 watch()
方法的 typeMap
选项。
示例
此示例在遇到 invalidate
事件后捕获更改流的恢复令牌,并使用它通过 startAfter
选项构造第二个更改流。
$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]);