【发布时间】:2021-11-28 18:21:15
【问题描述】:
我有一个连接到 firebase 实时数据库的颤振应用程序。每次我尝试检索数据时,我都会从快照中得到不一致的值。下面是我的数据库的样子:
以下是颤振代码,我用于获取特定 id 中的所有用户:
new FutureBuilder(
future: db.child("Users").orderByChild("_id").equalTo("$userId").once(),
builder: (context, AsyncSnapshot<DataSnapshot> snapshot) {
if (snapshot.hasData){
final values = snapshot.data!.value;
print("values: "+values.toString());
return Text("userName: " + values.toString());
}
return CircularProgressIndicator();
}
),
values print 语句给出以下结果:
I/flutter (16745): values: [{phone: +880 (834) 473-3132, name: Luna Bray, _id: 615ec4d64259ae531dec9fcc}]
I/flutter (16745): values: {4: {phone: +880 (881) 491-2540, name: Sondra Paul, _id: 615ec4d6ee0c6d92626c1d55}}
I/flutter (16745): values: {3: {phone: +880 (973) 554-2796, name: Susan Walker, _id: 615ec4d60d00b15c0950e860}}
I/flutter (16745): values: {4: {phone: +880 (881) 491-2540, name: Sondra Paul, _id: 615ec4d6ee0c6d92626c1d55}}
从打印结果可以看出,只有第一个打印语句是List,其他都是Map。我需要快照中的值是列表或地图。我只需要与查询匹配的 id 的用户名。任何帮助表示赞赏。
【问题讨论】:
标签: firebase flutter firebase-realtime-database