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<dynamic, dynamic>
,然后使用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获取用户数据
如何在flutter中从firebase实时数据库中获取数据?
从 Firebase 获取原始 JSON 到 Flutter