我有那个系统arch:名为master
的主数据库和名为user1
和user2
的用户数据库。我正在将主数据库中的文档复制到user1
和user2
dbs。然后,用户在其数据库中单独修改该文档(例如,user1添加tags:[1, 2]
,user2添加tags:[3, 4]
字段。现在,我想从用户数据库复制回master并合并新添加的tags
字段,使其结果为tags:[1,2,3,4]
。此外,我可能需要在复制上运行一些逻辑,使得结果标记为tags:[1,2,4]
。
什么是正确的方法?
答案 0 :(得分:3)
这可以通过复制+冲突来解决。有一个主外部流程来检查冲突,合并标签和&然后写下新文件。
答案 1 :(得分:1)
您没有说明如何在最终结果中删除标记“3”,因此很难给出完整的答案。
在CouchDB文档中有很多关于处理这种场景的方法的很好的信息。 Designing how you store the data以及use the stored data to resolve conflicts如何包含以下“建议的代码以获取具有冲突解决方案的文档”
它还注意到“这可以在每次阅读时完成(在这种情况下,您可以通过调用执行上述操作的库来替换应用程序中对GET的所有调用),或者作为清理程序代码的一部分。”它继续在Ruby中给出一个完整的例子。
这会回答你的所有问题吗?