首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter:获取Firebase数据库参考子数据库所有数据

Flutter:获取Firebase数据库参考子数据库所有数据
EN

Stack Overflow用户
提问于 2018-08-29 16:31:45
回答 2查看 18.3K关注 0票数 4

我有一个firebase数据库的子数据库,其内容如下:

如何在flutter中检索这个?

我当前的代码:

代码语言:javascript
复制
static Future<Query> queryUsers() async{
return FirebaseDatabase.instance
    .reference()
    .child("zoom_users")
    .orderByChild('name');
}

queryUsers().then((query){
  query.once().then((snapshot){
    //Now how to retrive this snapshot? It's value data giving a json
  });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-29 16:49:16

要检索数据,请尝试执行以下操作:

代码语言:javascript
复制
db = FirebaseDatabase.instance.reference().child("zoom_users");
db.once().then((DataSnapshot snapshot){
  Map<dynamic, dynamic> values = snapshot.value;
     values.forEach((key,values) {
      print(values["name"]);
    });
 });

在这里,首先在子zoom_users处添加引用,然后由于value返回data['value'],因此可以将其赋给Map<dynamic, dynamic>,然后使用forEach在映射内循环并检索值,例如name

请检查以下内容:

https://api.dartlang.org/stable/2.0.0/dart-core/Map/operator_get.html

Flutter: The method forEach isn't defined for the class DataSnapshot

票数 17
EN

Stack Overflow用户

发布于 2018-08-29 16:49:27

代码语言:javascript
复制
  query.once().then((snapshot){
    var result = data.value.values as Iterable;
    for(var item in result) {
      print(item);
    }
  });

或者使用您已经使用的async

代码语言:javascript
复制
  var snapshot = await query.once();
  var result = snapshot.value.values as Iterable;
  for(var item in result) {
    print(item);
  }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52072948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档