0 android dart firebase flutter google-cloud-firestore
我正在尝试从 Firestore 云中检索变量的值。通过实现代码,我似乎遇到了一个错误,我花了几个小时为此感到沮丧,试图在这里和其他地方找到解决方案。我在代码旁边遇到的错误如下所示。
以下 NoSuchMethodError 在构建 StreamBuilder(dirty, state:_StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot>#4939b) 时被抛出: Class 'QuerySnapshot' has no instance getter 'documents'。接收器:“QuerySnapshot”实例尝试调用:文档
我正在使用的代码:
Widget buildStreamBuilder() {
return Container(
child: !_success
? Center(
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.green),
),
)
: StreamBuilder(
stream: FirebaseFirestore.instance.collection('sensors').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(Colors.red),
),
);
} else {
snapshot.data.documents.forEach((doc) {
if (doc.documentID == 'cSBKpiEe1XKmQC8BDzMk') {
print('current value = ${doc['BatStat']}'); //var1
globalCurrentSensorValue = doc['BatStat'].toDouble();
}
});
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Expanded(
flex: 1,
child: Container(),
),
Expanded(
flex: 1,
child: Container(),
)
],
),
);
}
},
));
}
Run Code Online (Sandbox Code Playgroud)
改变这个:
snapshot.data.documents.forEach((doc)
Run Code Online (Sandbox Code Playgroud)
进入这个:
snapshot.data.docs.forEach((doc)
Run Code Online (Sandbox Code Playgroud)
QuerySnapshot类包含一个名为的属性docs,它将返回集合中的所有文档。
| 归档时间: |
|
| 查看次数: |
1223 次 |
| 最近记录: |