【发布时间】:2016-03-28 02:04:33
【问题描述】:
我有一个使用 Couchbase lite 的移动应用程序。当用户注销时,我想删除设备上的一些文件;用户特定的文档。我不想删除所有文件。文档有一个purgeDocument() 方法,我认为我可以调用这些用户特定的文档。
问题在于,如果用户重新登录并运行拉取复制,则清除的文档不会重新同步到设备。
根据我对 CouchDB 同步协议的了解很少,这些不会重新同步是有道理的,因为这些用户特定文档上没有更新的序列更新来触发重新同步。
我应该如何解决这个问题?
可能性
- 删除整个数据库(包括常用文档)并失去性能。
- 不知何故重置了复制器的最后一个序列,并希望复制器不会通过网络传输已下载的文档。 (可能会搞砸 CBL)
- 拥有单独的数据库,一个存储用户特定的文档,一个包含通用文档。数据库可以具有过滤的复制器(按通道),因此将传入数据分区到单独的数据库中是可行的。当使用 CBLModel 对象包装器时,问题将是不同数据库的文档之间的无缝引用加载。
【问题讨论】:
-
我相信你应该选择第三个
-
我不知道如果我必须管理另一个数据库会遇到的开销或不必要的复杂性。
标签: couchdb couchbase couchbase-lite couchbase-sync-gateway