MongoDB ChangeStream ResumeToken 是全球唯一的吗?

Is MongoDB ChangeStream ResumeToken unique globally?

正如文档(https://docs.mongodb.com/manual/changeStreams/)所说,我们可以使用 resumeToken 从 MongoDB 恢复获取事件。

我会将最近的 resumeToken 存储到公共存储,但我不确定这个 resume token 是否在全球范围内是唯一的。 我想知道它对于整个集合或每个集合都是唯一的。

好像用的是UUID(https://github.com/mongodb/mongo/blob/master/src/mongo/db/pipeline/resume_token.h#L61)..

谢谢

resumeToken 在单个 MongoDB 部署集群中是唯一的。 MongoDB change streams 利用全局逻辑时钟。服务器将集群时间编码为 resumeToken 的前缀值,从而可以按照接收到的顺序安全地解释更改流通知。

从 MongoDB v4.0 开始,您可以为部署打开一个更改流游标,以监视除 admin、[=13 之外的所有数据库中所有非系统集合的更改=],以及 config