【问题标题】:Flutter: Get Firebase Database reference child all dataFlutter:获取 Firebase 数据库引用子所有数据
【发布时间】:2019-02-03 23:27:23
【问题描述】:

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

如何在颤振中检索这个?

我当前的代码:

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

【问题讨论】:

    标签: firebase firebase-realtime-database flutter dart


    【解决方案1】:
      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 = snapshot.value.values as Iterable;
      for(var item in result) {
        print(item);
      }
    

    【讨论】:

      【解决方案2】:

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

      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&lt;dynamic, dynamic&gt;,然后使用forEach 在地图内循环并检索值,例如@ 987654328@.

      检查一下:

      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

      【讨论】:

        猜你喜欢
        • 2019-07-01
        • 2016-12-22
        • 1970-01-01
        • 2021-03-04
        • 1970-01-01
        • 2020-09-13
        • 2021-02-09
        • 2019-04-13
        • 1970-01-01
        相关资源
        最近更新 更多