问题描述
我在我的移动应用中使用 Firebase(实时数据库)和 Firebase 身份验证(用于创建产品和接受订单)。
到目前为止,我能够根据每个用户的 uid
登录和访问其数据。这是当前的架构:
database-id
- products
- productId (generated by firebase something like: -M7Z0pL3CVtYxah7MwQz)
- ownerId: uid (available after login)
我需要能够让多个用户访问相同的数据,如何在这样的 nosql 数据库中实现这一点?
我是这样想的:
database-id
- users
- uid
- accountId
- products
- accountId
- productId (generated by firebase something like: -M7Z0pL3CVtYxah7MwQz)
- ownerId: uid (available after login)
这样,在使用该 uid 登录后,我可以这样请求:
https://database-id/users/<uid>.json
获得 accountId
然后,我可以请求这样的产品:https://database-id/products/<accountId>.json
。
有什么想法吗?或者有更好的方法来实现这种多用户访问 nosql 架构上的相同帐户数据的方法?
解决方法
您将用户映射到帐户的逻辑对我来说听起来不错。但除此之外,真的很难说任何通用的东西,因为 NoSQL 数据模型通常会随着它们支持的用例而发展。
如果您对此不熟悉,我建议您阅读 NoSQL data modeling,观看 Firebase for SQL developers 和 Getting to know Cloud Firestore(Firestore 的最后一个,但大多数信息适用于所有 NoSQL 数据库)。>