flutter - 如何使用字符串或变量在flutter中使用OrderByChild从firebase实时数据库中获取数据
问题描述
我正在尝试获取包含当前用户 uid 的所有会议。我正在尝试通过使用 OrderByChild($string).(firebaseauth.currentuser.uid) 来完成它,如下所示在我的代码中。在我的代码中,我在字符串中获取了当前用户特定的键,然后用它来获取包含该键的所有数据。
String MyAssigningID = "...";
Future<void> _fetchUserASSIGNINGIDFromDatabase() async {
DatabaseReference reference = FirebaseDatabase.instance.reference().child("User").child(widget.GroupID).child("Group-Members").child(auth.currentUser.uid);
final DataSnapshot data = await reference.once();
setState(() {
MyAssigningID = data.value['AssigningID'].toString();
});
}
GetGroupFunction() {
DatabaseReference referenceData = FirebaseDatabase.instance.reference().child("User").child(widget.GroupID).child("Conferences");
referenceData.orderByChild(MyAssigningID).equalTo(auth.currentUser.uid).once().then((DataSnapshot dataSnapshot) {
Conferencelists.clear();
var keys = dataSnapshot.value.keys;
var values = dataSnapshot.value;
for (var key in keys) {
Conferencemodals conferencemodals = new Conferencemodals
(
values [key]['Title'],
values [key]['Description'],
values [key]['StartingTime'],
values [key]['EndingTime'],
values [key]['Duration'],
values [key]['ConferenceID'],
values [key]['SchoolUpin'],
values [key]['CreatedDate'],
values [key]['Published'],
values [key]['ConferenceDay'],
values [key]['ConferenceHost'],
);
Conferencelists.add(conferencemodals);
}
setState(() {
TotalConferences = Conferencelists.length.toString();
});
});
}
解决方案
推荐阅读
- excel - Excel VBA - 通过代码名称间接引用工作表
- javascript - React - 如何跟踪用户在页面上的当前位置?
- sql - Presto SQL 中 JOIN 表达式的区别
- android - 使用 recyclerview 从 Firebase 查询数据未显示结果
- python - 如果用户在 python Twilio IVR 中挂断,如何执行功能?
- c# - 通知 ActionBlock 完成到另一个类
- websocket - 为股票报价创建实时警报
- visual-studio-code - VSCode API 获取语言注释分隔符
- python - 返回绝对图标图像文件路径
- javascript - 如何使用承诺使循环不会挂起