这是我在这里发表的第一篇文章,对于任何困惑都很抱歉!
我最近开始使用Flutter,我也是Firebase的新手。
我使用实时数据库作为我的应用程序的后端,我有一个层次结构,如下所示:
我想要做的是通过他们的id查找特定用户,获取他们的信息(在这种情况下为性别和名称),然后设置一个小部件(在本例中为文本小部件)以使用该值。
如何实现这一目标?
我已经搜索了很多关于这个的StackOverflow问题,并且所有这些问题都使用了FutureBuilders或DataSnapshots,我无法解决如何将它们排序以便它们工作的问题。
所有在线教程也不会从特定用户获取信息,而是查询整个数据库。
您可以执行以下操作:
db = FirebaseDatabase.instance.reference().child("Users");
db.orderByKey().equalTo(Id).once().then((DataSnapshot snapshot){
Map<dynamic, dynamic> values = snapshot.value;
values.forEach((key,values) {
print(values["name"]);
});
});
首先,您获取节点User
的实例,然后使用orderByKey()
,您可以按ID搜索用户,并检索名称和性别。
有关更多信息,请查看以下链接:
https://github.com/flutter/plugins/blob/master/packages/firebase_database/lib/src/query.dart#L183