【问题标题】:how to get values based on userid from firebase database using flutter如何使用颤振从firebase数据库中获取基于用户ID的值
【发布时间】:2019-01-03 03:34:57
【问题描述】:

我尝试用 Flutter 体验 Firebase Live 数据库。我想根据用户 ID 从 firebase 数据库中获取值。这意味着如果用户使用邮件登录,他需要根据他的用户 ID 访问他的详细信息。任何人都可以在这些方面帮助我。

【问题讨论】:

  • 是的,我只用那个。
  • 我想知道!如何根据 Firebase 数据库中的用户 ID 获取数据。我完成了在数据库中存储数据的工作。现在我想使用电子邮件登录,并以此为基础,需要根据该邮件用户 ID 获取数据。我试图做研究,但我没有找到任何关于这些的例子。

标签: firebase firebase-realtime-database dart flutter


【解决方案1】:

如果你有这个数据库:

users
 userId
    mail: userx@gmail.com
    name: userx

然后要根据 userId 获取数据,请尝试以下操作:

 final FirebaseDatabase database = new FirebaseDatabase(app: widget.app);
 _messagesRef = database.reference().child('users');

_messageRef.orderByKey().equalTo(userId).once().then((DataSnapshot snapshot) {
  print('Connected to the database and read ${snapshot.value}');
});

先配置数据库,然后引用位置,使用查询orderByKey()可以根据提供的userId获取数据。

在此处查看示例:

https://github.com/flutter/plugins/blob/master/packages/firebase_database/example/lib/main.dart#L60

【讨论】:

  • 谢谢@peterHaddad。我已经完成了。我的问题是,如果我使用电子邮件登录,我需要保存用户个人数据,并且基于用户 email_useid(uid) 我需要从数据库中获取数据。我对这些有点困惑。
  • 在上面的答案中你是根据用户ID获取数据,你应该使用我在答案中写的数据库结构
  • 我会照顾它的。但我的问题是查看用户是否第一次使用电子邮件和密码登录,如果用户第二次登录必须显示存储的数据,我们是否将我们的信息保存在数据库中。就像我们有很多用户一样,所以在这种情况下,基于电子邮件的 firebaseuserid 我需要获取数据。
猜你喜欢
  • 2019-01-01
  • 2022-10-06
  • 2021-07-27
  • 2021-02-16
  • 2019-12-31
  • 1970-01-01
  • 2021-12-22
  • 2022-06-27
  • 1970-01-01
相关资源
最近更新 更多