首页 > 解决方案 > 如何在firebase Flutter中将2个用户链接在一起

问题描述

我的应用是关于照顾老人的,有两种类型的用户,老人和观察者,观察者是老人家庭照顾老人的人。注册时,观察者先注册自己,然后注册老人,两者都需要电子邮件。然后,监护人将登记老人的药物。之后,老人在吃药时会进行检查,并会向观察者发送通知,告知老人已吃药。

如何在 Firebase Cloud Firestore 中链接这 2 个用户?我怎样才能让 firebase 知道这个 watcher 是这个注册的老人的 watcher?

标签: firebaseflutterandroid-studiogoogle-cloud-firestorefirebase-authentication

解决方案


您的问题非常广泛......但这里有一些一般的“指导”:

  • 您可以通过Firebase 身份验证服务与用户关联的信息仅限于一组字段:电子邮件、电话号码、显示名称等。
  • 如果您想向用户添加任何额外信息,例如与其他用户的链接、物理地址、年龄……您应该将其存储在任何其他存储服务中,例如 Google Cloud Firestore。

文档实际上表明:

Firebase 用户有一组固定的基本属性——唯一 ID、主电子邮件地址、姓名和照片 URL——存储在项目的用户数据库中,用户可以更新这些属性(iOS、Android、Web)。您不能直接将其他属性添加到用户对象;相反,您可以将其他属性存储在任何其他存储服务中,例如 Google Cloud Firestore。


你的问题:

如何在 Firebase Cloud Firestore 中链接这 2 个用户?我怎样才能让 Firebase 知道这个观察者是这个注册中的老人的观察者?

通常为在身份验证服务中创建的每个用户创建一个 Firestore 文档。最好的方法是使用用户 uid 作为 Firestore 文档的 ID,这样您可以在用户登录时轻松获取此文档。

为了识别观察者-老年人关系,如果不知道您计划执行的确切查询,就很难回答,但一种直接的方法是将另一个“夫妻中的成员”的 uid 存储在每个用户文档中。


推荐阅读