CouchDB 简单文档设计:需要反馈

CouchDB simple document design: need feedback

我正在为 CouchDB 设计文档存储,非常感谢您的反馈。这些文档代表 "assets"。 这些数据库也将通过 pouchdb 在本地同步到浏览器。

要求:

我的设计

之所以将组资产存储在单独的数据库中,是因为当 pouchdb 在本地运行时,它只知道当前用户和 his/her 共享资产。它不知道其他用户,也不应该查询这些 "other" 用户的数据库。

任何输入将不胜感激。

看起来是个不错的设计。另一种选择是每个组只有一个数据库 ("role"),然后从用户组复制到他们的本地 PouchDB。

不过,当需要复制回服务器时,这可能会变得棘手,因为当文档离开用户的本地数据库时,您将不得不过滤文档,具体取决于它们属于哪个组数据库到。尽管如此,您仍然必须在服务器端使用当前设计执行此操作。

老实说,任何一种方式都可以。当前方法的唯一缺点是文档在服务器端被复制(每个用户数据库一次,每个组数据库一次)。另一方面,您的客户端代码变得非常简单,因为您不必进行任何过滤复制。如果你的服务器上有足够的 space 不用担心它,那么我肯定会采用你的方法。 :)