flutter - 将 Firestore DocumentSnapshot 映射到类中的属性
问题描述
我有这样的代码,用于 QuerySnapshot 以获取运行良好的集合中的文档。
List<DaftarHazard> _userHazardFromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((hazards) {
return DaftarHazard(
waktuHazard: hazards.data['waktuHazard'],
judulHazard: hazards.data['judulHazard'],
isiHazard: hazards.data['isiHazard'],
fotoHazard: hazards.data['fotoHazard'],
namaPelapor: hazards.data['namaPelapor'],
lokasiHazard: hazards.data['lokasiHazard'],
statusHazard: hazards.data['statusHazard']);
}).toList();
}
Stream<List<DaftarHazard>> get userHazardAsSuper {
return userHazards.snapshots().map(_userHazardFromSnapshot);
}
但是我需要将 DocumentSnapshot 映射到类属性。我不知道该怎么做。如何使用与 QuerySnapshot 相同的方法来执行此操作?
上面的代码是我从集合中获得的。下面的代码是我用来获取文档中的字段的代码
Stream<List<UserDetails>> get userDetails {
return userData.document(uid).snapshots().map(_userDetailsFromSnapshot);
}
并使用它映射到属性
List<UserDetails> _userDetailsFromSnapshot(DocumentSnapshot snapshot) {
return snapshot.data.map((item) {
return UserDetails(
name: details.['name'],
email: details.data['email'],
);
}).toList();
}
但是上面的代码不起作用。
在这里找到解决方案: Net Ninja
解决方案
在此处找到从 Firestore 中的特定文档获取字段和值的解决方案
[Net Ninja][1]