正如文档(https://docs.mongodb.com/manual/changeStreams/)所述,我们可以使用resumeToken继续从MongoDB获取事件。
我会将最近的resumeToken存储到公用存储中,但是我不确定此恢复令牌是否在全球范围内唯一。 我想知道它对于整个收藏或每个收藏都是独一无二的。
它似乎使用了UUID(https://github.com/mongodb/mongo/blob/master/src/mongo/db/pipeline/resume_token.h#L61)。
谢谢
答案 0 :(得分:1)
resumeToken
在单个MongoDB部署群集中是唯一的。 MongoDB change streams使用全局逻辑时钟。服务器将群集时间编码为resumeToken
的前缀值,从而可以按照接收到的顺序安全地解释更改流通知。
从MongoDB v4.0开始,您可以打开更改流游标以进行部署,以监视除admin
,local
和{{之外的所有数据库中对所有非系统集合的更改。 1}}。