我已使用实时数据库进行此设置:
\n\n->users\n->uid\n ->name\n ->email\n ->other info\nRun Code Online (Sandbox Code Playgroud)\n\n如果我想保存用户数据,我将使用我的 User 类,然后在数据库中设置对象,如下所示:
\n\nfinal FirebaseUser user = await FirebaseAuth.instance.currentUser();\nFirebaseDatabase.instance.reference().child("kullan\xc4\xb1c\xc4\xb1lar").child(user.uid).child("takip").set({"uid":"uid"});
我尝试了一下,效果很好。
\n\n但是我如何从数据库中检索这些值呢?例如,一旦我设置了如上所示的用户对象,我可能想要检索用户的电子邮件。我的意思不是通过登录提供商获取电子邮件。我想要通过实时数据库发送电子邮件。我已经尝试解决这个问题有一段时间了,但文档并没有多大帮助。它显示的只是设置侦听器以等待数据更改。但我不是在等待改变,我不需要倾听者。我想通过使用 JSON 树中的键直接获取数据库中的值。这可以通过实时数据库实现吗?如果是这样,怎么办,因为文档没有解释它或者我只是不理解它。谢谢。
\n您可以使用一次检索该值.once()。这是一个示例: https: //github.com/flutter/plugins/blob/master/packages/firebase_database/example/lib/main.dart#L62
或者更好,使用 async/await:
Future<String> getEmail() async {
String result = (await FirebaseDatabase.instance.reference().child("path/to/user/record/email").once()).value;
print(result);
return result;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9535 次 |
| 最近记录: |