我有一个使用Couchbase Lite的移动应用程序。当用户退出登录时,我想删除设备上的一些文档;即用户特定的文档。我不想删除所有文档。文档有一个
问题在于,如果用户重新登录并运行拉取复制,那么清除的文档不会重新同步到设备上。
根据我对CouchDB同步协议的了解,这些文档不会重新同步,因为这些用户特定文档上没有更新序列以触发重新同步。
我该如何解决这个问题?
可能的方案:
purgeDocument()
方法,我认为可以在这些用户特定文档上调用它。问题在于,如果用户重新登录并运行拉取复制,那么清除的文档不会重新同步到设备上。
根据我对CouchDB同步协议的了解,这些文档不会重新同步,因为这些用户特定文档上没有更新序列以触发重新同步。
我该如何解决这个问题?
可能的方案:
- 删除整个数据库(包括公共文档),性能会受到影响。
- 某种方式重置复制器的最后一个序列,并希望复制器不会通过网络传输已经下载的文档。(可能会破坏CBL)
- 有单独的数据库,一个存储用户特定的文档,另一个包含公共文档。数据库可以通过渠道进行过滤复制器,因此将输入数据分区为单独的数据库是可行的。问题是在使用CBLModel对象包装器加载不同数据库文档之间的无缝引用时。