如何使设计文档在每个用户数据库之间保持同步

时间:2019-07-11 12:56:24

标签: validation couchdb

我正在构建一个应用程序,例如todoapp。

功能:

  1. 离线优先(couchdb + pouchdb)
  2. 多用户

CouchDB选项:require_valid_user,couch_peruser。

好吧,每个用户都有一个专用数据库。但是,如何验证发布/放置文档?

design / validate_doc_update必须位于每个用户数据库(userdb- {hex})中。

如何将其放置在那里并有时一次全部更新?同步?第三数据库/复制?如何复制到所有userdb?

1 个答案:

答案 0 :(得分:1)

您有三个基本选项,都非常相似:

  1. 在原型数据库和每个用户的数据库之间设置连续复制。对于大量用户和较低的更新频率,这可能会增加很多开销,却几乎没有收益。

  2. 每次发生更新时,在原型数据库和每个用户的数据库之间触发一次性复制。这要求您知道应用程序中何时发生更新,并手动处理可能发生的任何复制失败。在简单的情况下,此开销可能很小。

  3. 让您的应用程序在每次更改设计文档时为每个用户数据库更新设计文档。这是一种手动同步选项。

您所选择的选项实际上取决于您,并且需要权衡取舍。

如果您只希望选择仅更新一部分用户(例如Beta测试小组),那么选项2或3将是您的最佳选择。