【问题标题】:How to get a specific user data with the help of uid?如何借助 uid 获取特定的用户数据?
【发布时间】:2021-04-19 15:31:00
【问题描述】:

我的问题是基于这个问题: Retrieve specific user data from firebase in flutter。 有答案如何使用用户ID获取用户数据,但我不知道如何获取一些特定的用户数据,例如如何获取姓名或年龄。

总结:

  1. 每个用户都有唯一的 ID 和姓名、年龄、地址。
  2. 我有用户 ID,我想获取另一个用户数据,例如我想得到那个用户的名字。怎么样?

【问题讨论】:

  • 您能否提供更多信息。这个 User 类是从哪里来的?是你创建的还是来自firebase_auth等?
  • 在这个问题中,用户只是一个例子,我想知道如何在我创建的任何类中做到这一点。另一个例子是调查。我有调查 ID,调查是由注册用户创建的。注册用户必须输入调查标题、描述和持续时间(将保存在数据库中)。未注册用户必须输入调查 ID 才能参加调查。在他输入 id 后,我想打开视图,他可以在其中看到调查标题和持续时间。而且我不知道如何访问调查持续时间或标题以仅显示该信息。
  • 您好像在问如何从 Firebase 读取数据?如果是这样,有一个很棒的tutorial 以及其他几十个甚至一些 youtube 视频。如果这不是所问的,您能否澄清问题并包含您尝试过的代码?

标签: firebase flutter google-cloud-firestore


【解决方案1】:

创建一个名为 users 的集合,该集合将有许多以 userIds 为名称的文档,每个文档将具有类似 Map 的结构,例如"name":string, 'age":int, 'address':string 。既然你有来自 firebase login 的 id,只需 DocumentSnapshot document = await Firestore.instance.collection("/userdata").document("uid").get();

您可以从那里构建您的用户类或立即使用document['name']

【讨论】:

  • await 表达式只能在异步函数中使用。如何解决?如果我制作这样的功能,如何调用它来获得我想要的东西? getOneFormData(String uid) async{ return await Firestore.instance.collection("/userdata").document("uid").get(); }
  • 您可以使用带有未来的 FutureBuilder :yourAsyncFunction。就像你在你的小部件周围包裹一个容器一样!
【解决方案2】:

如果你的意思是你想做像 SELECT x,y,z 这样的东西,我不得不说你做不到..

您必须先通过其 uniqueId 检索文档,然后才能读取特定数据

【讨论】:

  • 能否给我一个代码示例,如何在检索文档后读取特定数据?
猜你喜欢
  • 1970-01-01
  • 2020-10-06
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 2017-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多