在cloud_firestore的上次更新中,我使用旧代码运行应用程序时出错。如何转换流<查询快照<映射<字符串,动态>gt>添加到列表?
我有这个代码,我得到空值:
Stream<List<Model>> getReviews(String id) {
try {
return _collectionReference.doc(id).collection('reviews').orderBy('date', descending: true).snapshots().map((reviews) => reviews.docs.map((review) => Model.fromJson(review.data())));
} catch (error) {
return error.message;
}
}
如果您只想获得List<Model>
,请使用get
调用并等待结果,然后返回List<Model>
,如下所示:
Future<List<Model>> getReviews(String id) {
try {
QuerySnapshot querySnapshot=await _collectionReference.doc(id).collection('reviews').orderBy('date', descending: true).get();
List<Model> result;
querySnapshot.docs.forEach((doc) {
print(doc["first_name"]);
result.add(Model.fromJson(review.data()));
});
return result;
} catch (error) {
return error.message;
}
请确保以异步方式调用getReviews
。