gpt4 book ai didi

flutter - Flutter:使用Streambuilder 时如何在Firestore中获取特定文档

转载 作者:行者123 更新时间:2023-12-03 03:38:51 25 4
gpt4 key购买 nike

我的代码目前有问题,我正在尝试在数据库中获取特定的数据。我要执行的操作是“收集”>“我要获取的特定文档”>“字段(我的阵列数据)”。到目前为止,我有一个代码可以执行我想做的事情,但是问题是它仅获取文档中的第一个数据。请帮忙。

我的代码:

 StreamBuilder<QuerySnapshot>(
stream: db.collection('NOTIFICATION').snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Column (
children: snapshot.data.documents.first['Respondent']
.map<Widget>((respondent) => buildItem(respondent))
.toList());
} else {
return SizedBox();
}
})

我的数据库结构:

enter image description here

急需帮助。

最佳答案

您可以更改此:

snapshot.data.documents.first['Respondents'];

为了这:
snapshot.data.documents.firstWhere((doc) => doc.documentID == 'id')['Respondents'];

处理不同情况:
var doc = snapshot.data.documents
.firstWhere((doc) => doc.documentID == 'id', orElse: () => null);
if (doc == null) {
return Text('Document doesn\'t exist');
} else if (doc['Respondents'] == null) {
return Text('Document without respondents');
}
return Column(children: doc['Respondents'].map<Widget>(...));

关于flutter - Flutter:使用Streambuilder <QuerySnapshot>时如何在Firestore中获取特定文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58759743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com