首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从每个用户的数据库到主数据库的CouchDB复制

从每个用户的数据库到主数据库的CouchDB复制
EN

Stack Overflow用户
提问于 2012-04-13 13:43:42
回答 2查看 437关注 0票数 2

我有一个系统拱门:主数据库名为master,用户数据库名为user1user2。我正在将一个文档从主数据库复制到user1user2数据库。然后,用户在他们的数据库中分别修改该文档(例如,user1添加tags:[1, 2],user2添加tags:[3, 4]字段)。现在,我想从用户数据库复制回主数据库,并将新添加的tags字段合并到tags:[1,2,3,4]中。此外,我可能需要在复制上运行一些逻辑,以使结果标记为tags:[1,2,4]

什么是正确的方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-24 13:28:56

你没有说你可能想要如何在你的最终结果中删除标签"3“,所以很难给出一个完整的答案。

在CouchDB文档中有很多关于处理这类场景的各种方法的有用信息。Designing how you store the data和how you use the stored data to resolve conflicts,其中包括以下“使用冲突解决方案提取文档的建议代码”

  1. GET docid?conflicts=true
  2. For _conflicts数组中的每个成员: GET docid?rev=xxx如果在此阶段出现任何错误,请从第1步重新启动。(可能会发生竞争,因为其他人已经解决了此冲突并删除了该版本)
  3. 使用第一个版本的更新和其他版本的删除执行特定于应用程序的merging
  4. _bulk_docs。

它还指出“这可以在每次读取时完成(在这种情况下,您可以将应用程序中的所有GET调用替换为对执行上述操作的库的调用),或者作为您的清理程序代码的一部分。”然后给出了一个完整的Ruby示例。

这能回答你所有的问题吗?

票数 1
EN

Stack Overflow用户

发布于 2012-04-23 04:52:05

这可以通过复制+冲突来简单地解决。有一个主外部进程,它检查冲突,合并标记,然后编写新文档。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10135820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档