FlutterfirestoreQuerySnapshot在Android中没有getter'documents'实例
我正在尝试从 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(),
)
],
),
);
}
},
));
}
回答
改变这个:
snapshot.data.documents.forEach((doc)
进入这个:
snapshot.data.docs.forEach((doc)
QuerySnapshot类包含一个名为的属性docs,它将返回集合中的所有文档。
THE END
二维码