相关疑难解决方法(0)

如何通过连续复制解决冲突

我是CouchDB和PouchDB的新手,并且正在使用它来创建一个可以在移动和桌面设备上同步的联系人管理系统,并且可以脱机使用.我发现使用PouchDB比编写PHP/MySQL后端要容易得多.

我一直在成功使用它,当我在离线设备上做出相互矛盾的更改时,CouchDB使用一种算法随意挑选一个胜利者,然后将其正确地推送到所有设备.

我想要做的是实现自定义算法来合并冲突的记录.这是我想要使用的算法:

  1. 如果在一个客户端上删除记录而仅在另一个客户端上更新,则更新版本将获胜,除非两个客户端都同意删除.
  2. 具有最新"已修改"时间戳的记录将成为主记录,而较旧记录将成为次要记录.
  3. 仅存在于辅助节点中(或在主节点中为空)的任何字段都将移至主节点.
  4. 将保存主版本,并删除辅助版本.

CouchDB的指南有一个很好的解释,但我不知道如何在连续复制期间使用PouchDB API实现它.根据PouchDB API,复制选项中有一个"onChange"侦听器,但我不明白如何使用它来拦截冲突.

如果有人可以写一个简短的教程,包括一些示例代码,我和我相信很多其他PouchDB用户会很感激!

couchdb database-replication pouchdb

11
推荐指数
1
解决办法
3277
查看次数

标签 统计

couchdb ×1

database-replication ×1

pouchdb ×1