让我提供一个场景:
我有一份_id: 'doc-123'
的文件。我通过db.put(doc)
调用_deleted: true
来删除它。
在单独的设备上,我创建了一个或多个doc-123
的新修订版,但我从不删除该文档。
当他们同步并发生冲突时,我需要保证_deleted: true
版本将获胜。
通过PouchDB(也许还有CouchDB?)冲突解决算法,如果此删除的文档与该文档的新修订(但未删除)之间确实发生了最终冲突,则可以保证删除的文件修订将永远是获胜的?
我想确保冲突的情况不会导致文件复活。
默认情况下是这种行为还是我需要为这种情况编写冲突解决代码?
我读了PouchDB conflicts document并没有看到任何提及此事。
答案 0 :(得分:1)
必须手动解决CouchDB / PouchDB中的冲突(因为在数据库中不会为您执行此操作。您仍然可以自动执行此操作)。由于您必须手动执行此操作,因此您可以选择满足您需求的任何逻辑。