如何将 Stream<QuerySnapshot<Map<String、dynamic>>> 转换为 List<Object>?扑动



在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

最新更新