解决官方文档推荐的复制冲突的方法是:
>使用文档的_conflicts字段(例如通过视图)读取冲突的修订版本
>获取列出的所有修订版本的文档
>执行特定于应用程序的合并
>删除不需要的修订
当我想要合并已删除的文档时出现问题.它们不会出现在_conflicts字段中,但在_deleted_conflicts中.如果我仅使用_conflicts字段进行合并,并且在本地数据库中删除文档并在远程副本中进行编辑,则它将在复制时在本地复活.我的应用程序模型假设删除总是优先合并:删除的文档保持删除,无论与其冲突什么编辑.
所以,乍一看,最简单的事情是检查_deleted_conflicts不是空的,如果它不是空的,删除文档,对吧?嗯…这个问题是这个也可能包含通过解决步骤#4中的编辑冲突引入的删除的修订,所以在这种情况下_deleted_conflicts的含义是不明确的.