【发布时间】:2021-03-17 21:28:58
【问题描述】:
在更新之前,如果 document['field'] 不存在,它将导致 null。现在它会抛出一个 Bad State 错误。需要 null 响应,因为该字段在 Firebase 集合中的某些历史数据和/或可选数据中不存在。在以下报告中也证实了这一点:
https://github.com/FirebaseExtended/flutterfire/issues/3826
有没有办法捕获错误并忽略它或将其设置为 null 或空字符串?
static Pool dataFromDocument(QueryDocumentSnapshot document) {
return Pool()
..authUID = document.get('authUID')
..documentID = document.id
..propertyManagerID = document['propertyManagerID'] as String
}
static Stream<QuerySnapshot> getData(String authUID) {
CollectionReference poolRef = FirebaseFirestore.instance.collection(dataDB);
Query query = poolRef.where('authUID', isEqualTo: authUID.trim());
return query.snapshots();
}
【问题讨论】: