我有一个使用 Couchbase lite 的移动应用程序。当用户注销时,我想删除设备上的一些文件;用户特定的文档。我不想删除所有文件。文档有一种purgeDocument()
方法,我认为我可以调用这些特定于用户的文档。
问题在于,如果用户重新登录并运行拉取复制,则清除的文档不会重新同步到设备。
根据我对 CouchDB 同步协议的了解,它们没有重新同步是有道理的,因为这些用户特定文档上没有更新的序列更新来触发重新同步。
我应该如何解决这个问题?
可能性
- 删除整个数据库(包括公共文档)并失去性能。
- 不知何故重置了复制器的最后一个序列,并希望复制器不会通过网络传输已经下载的文档。(可能会搞砸CBL)
- 拥有单独的数据库,一个存储用户特定的文档,一个包含通用文档。数据库可以具有过滤的复制器(按通道),因此将传入数据分区到单独的数据库中是可行的。当使用 CBLModel 对象包装器时,问题将是不同数据库的文档之间的无缝引用加载。