首页 文章

Flutter:获取Firebase数据库引用子所有数据

提问于
浏览
0

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

enter image description here

如何在颤动中检索这个?

我目前的代码:

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
  });
});

2 回答

  • 1

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

    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 处添加引用,然后由于值返回 data['value'] ,您可以将其分配给 Map<dynamic, dynamic> 然后使用 forEach 在 Map 内循环并检索值,例如 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

  • 5
    query.once().then((snapshot){
        var result = data.value.values as Iterable;
        for(var item in result) {
          print(item);
        }
      });
    

    或者您已使用的 async

    var snapshot = await query.once();
      var result = data.value.values as Iterable;
      for(var item in result) {
        print(item);
      }
    

相关问题