对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

MongoDB\ChangeStream::getResumeToken()

1.5版本新增。:

MongoDB\ChangeStream::getResumeToken()

返回将用于恢复变更流的缓存恢复令牌。

function getResumeToken(): array|object|null

数组或对象,如果没有缓存的恢复令牌,则为null 。 返回类型将取决于用于创建变更流的watch()方法的typeMap选项。

此示例在遇到invalidate事件后捕获变更流的恢复令牌,并使用它来构造第二个变更流(通过startAfter选项)。

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