首页 > 解决方案 > 将 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

标签: fluttergoogle-cloud-firestore

解决方案


在此处找到从 Firestore 中的特定文档获取字段和值的解决方案

[Net Ninja][1]

推荐阅读