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