首页 > 解决方案 > 在 Cloudant 中的实时同步期间确定文档复制的时间戳

问题描述

现在,我与经常离线和在线的客户进行交易同步。这意味着交易文档的创建(当它进入袋子时)与它进入 Couch 的点不一致。

有没有办法让我在确认复制时用时间戳标记这些文档?我看到有高级复制调度程序,但该completed标志不适用于我们正在使用的实时复制。

我曾尝试在同步之前标记文档,但这并不能解决网络延迟或复制后端延迟的问题。这只是我开始同步该文档的时间,不能保证它会到达 CouchDB 中的那个时间点。

标签: couchdbpouchdbcloudant

解决方案


您需要使用像 spiegel 之类的附加组件(使用on_change文档回调更新函数)或另一个(pouchdb?)客户端来观察更改提要并添加该客户端从 couchdb 可用的时间戳(可能会有点延迟)。

如@Flimzy 在评论中指出的那样,这样的客户端将有创建无限循环的危险,除非它使用规则不使用现有时间戳重新更新文档,以便它在自身重新触发时不会写入,因此停止重新触发自身。Spiegel 支持这样的规则和/或停止无限循环可能是更新功能的一部分。


推荐阅读