【问题标题】:Cloudant filtered replication, removing documents from targetCloudant 过滤复制,从目标中删除文档
【发布时间】:2023-03-29 12:35:01
【问题描述】:

每个用户有一个 db,我使用过滤复制将标记为 public 的文档发送到单个公共数据库中。我有这个工作。现在,当用户将其文档从公共更改为私有时,复制不会从公共数据库中清除该文档。

除了从 userDb 读取所有私有文档,然后从公共 db 中删除它们(如果它们存在)之外,是否有通过基本复制功能来完成此操作?

【问题讨论】:

    标签: couchdb cloudant


    【解决方案1】:

    简短回答:不。

    长答案:除非文档在本地数据库中被删除,否则复制器不会删除远程文档。过滤器函数只是确定允许复制的内容。所以你的用例可以完成,但如果用户将文档更改为私有,我认为这会稍微滥用 CouchDB 模型,你可以:

    1. 在用户进行更改的设备上缓存文档内容。
    2. 删除远程数据库中的文档
    3. 使用缓存的内容重新创建文档,并更新字段以表明它是私有的。

    只要您的过滤器功能允许将删除复制到远程,文档就会被删除,但是关于 CouchDB 如何删除文档的常见警告适用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 2016-07-30
      相关资源
      最近更新 更多