首页 > 解决方案 > 如何连接 Firebase 身份验证和 Firebase 收集数据库?

问题描述

所以我试图了解 Firebase 的工作原理。我正在为数据库使用 Firebase 云。我创建了一个这样的集合:

'groups': {
     'some_group_name': { ... data ... }
     'other_group_name': { ... data ... }
}

此外,每个用户在进入应用程序时都会输入电子邮件和密码。在注册时,他选择了组名。例如在注册时,他会设置用户名、密码和some_group_name. 但是我如何连接当前登录用户和它在数据库中的组?Firebase 身份验证保存的唯一数据是电子邮件和密码。

我需要users像这样创建另一个集合吗?

"users": {
    "some_user_name": "some_group_name"
}

标签: androidfirebasegoogle-cloud-firestorefirebase-authentication

解决方案


您需要将用户的组成员资格/关联存储在某处。如何做到这一点,取决于您的应用程序的确切要求。

如果用户只能是一个组的成员,您可以将他们的组作为字段存储在用户个人资料文档中。您通常会为此拥有一个顶级集合users,并在该集合下为每个用户创建一个文档,并将用户的 UID 作为文档 ID(以便您可以通过其 UID 轻松查找用户配置文件)。

如果用户可以是多个组的成员,则可以将其存储在同一用户配置文件文档的数组字段中。在这种情况下,使用arrayUnionarrayRemove操作数组,以便您可以在需要时轻松查询数组成员资格


推荐阅读