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

Posted

技术标签:

【中文标题】Flutter:获取 Firebase 数据库引用子所有数据【英文标题】:Flutter: Get Firebase Database reference child all data 【发布时间】: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
  );
);

【问题讨论】:

【参考方案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

【讨论】:

以上是关于Flutter:获取 Firebase 数据库引用子所有数据的主要内容,如果未能解决你的问题,请参考以下文章

从firebase数据库flutter中的uid获取用户数据

如何仅获取文档 ID [Firebase-Flutter]

如何在flutter中从firebase实时数据库中获取数据?

从 Firebase 获取原始 JSON 到 Flutter

如何从 Firebase 实时数据库中获取数据到 Flutter 中的列表中?

Flutter:如何从 Firebase 通知负载中获取 Json 数据