【发布时间】:2015-03-10 20:48:30
【问题描述】:
我正在为 CouchDB 设计文档存储,非常感谢一些反馈。这些文件代表“资产”。 这些数据库也将通过 pouchdb 在本地同步到浏览器。
要求:
- 每个用户可以拥有许多资产
- 用户可以通过向他人提供诸如 (xyz.com/some_id) 之类的 URI 来与他人共享资产。一旦用户单击此 URI,他们就会被视为已“加入”并成为群组的一部分。
- 群组用户可以与群组的其他成员共享自己的资产。
我的设计
- 每个用户都有他/她自己的数据库来存储资产 - 我们称之为“用户”。每个用户数据库都会以他/她的唯一 ID 为前缀。
- 共享资产将存储在一个单独的数据库中 - 我们称之为“组”。共享资产在这里被复制,并且有一个额外的 userId 字段(表示创建者)。
- 组数据库以唯一 ID 为前缀,就像用户数据库也以 1 为前缀一样。
之所以将群组资产存储在单独的数据库中,是因为 pouchdb 在本地运行时,它只知道当前用户及其共享资产。它不知道其他用户,也不应该查询这些“其他”用户的数据库。
非常感谢任何输入。
【问题讨论】: