在现实世界的网络应用程序中,如何为多个客户/公司/客户存储数据?
假设我们为一位客户提供以下集合:
- users
- tasks
我如何将该系统扩展到第二个客户端?有标准方法吗?
注意:我正在使用 Firestore (no-sql)。
我们为每个客户使用一组单独的集合。我们的数据结构非常适合我们,看起来像这样......
/clients/{clientId}/reportingData
/clients/{clientId}/billingData
/clients/{clientId}/privateData
使用安全规则,我们允许客户端读取其 reportingData 和 billingData 集合,但不允许读取 privateData 集合。
但是,如果您需要同时跨多个客户端查询数据(例如,供内部使用),那么 Frank 的选项 1 会更好,使用clientId
field.
我们对用户做同样的事情......
/users/{uid}/publicProfile
(任何人都可以读,只有用户可以写)
/users/{uid}/userProfile
(只有用户可以读写)
/users/{uid}/privateProfile
(用户无法读取或写入的内部数据)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)