我正在为CouchDB设计文档存储,并且非常感谢一些反馈。这些文件代表资产"。 这些数据库也将通过pouchdb在本地同步到浏览器。
要求:
我的设计
将组资产存储在单独的数据库中的原因是因为当pouchdb在本地运行时,它只知道当前用户和他/她的共享资产。它不了解其他用户,也不应该查询这些"其他用户"用户'数据库。
任何输入都会非常感激。
答案 0 :(得分:2)
看起来像一个伟大的设计。另一种方法是每组只有一个数据库(“角色”),然后从用户的组复制到他们的本地PouchDB中。
但是,当复制回服务器时,可能会变得毛茸茸,因为当文档离开用户的本地数据库时,它们必须过滤文件,具体取决于它们属于哪个组数据库。不过,无论如何,无论如何,使用您当前的设计,您将不得不这样做。无论哪种方式都很好,老实说。当前方法的唯一缺点是文档在服务器端重复(每个用户db一次,每组db一次)。另一方面,您的客户端代码变得简单,因为您不必进行任何过滤复制。如果你的服务器上有足够的空间而不用担心它,那么我肯定会采用你的方法。 :)