Firebase 实时数据库 - 多个用户访问同一部分数据

问题描述

我在我的移动应用中使用 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 developersGetting to know Cloud Firestore(Firestore 的最后一个,但大多数信息适用于所有 NoSQL 数据库)。>