如何将列表存储到Firestore并在Flutter中获取它

时间:2020-06-07 02:36:44

标签: firebase flutter dart google-cloud-firestore

我要存储的数据看起来像这样

Class(
      id: '0',
      title: 'Yoga (Beginner)',
      categories: ['1', '2'],
      length: '30',
      displayImage: './assets/images/yoga.png'),
)

但是我不知道如何将类别列表存储到Firestore,我应该将其存储为集合或普通字段吗?

我有以下代码来获取课程信息

class DataService {
  final Firestore _db = Firestore.instance;

  Stream<List<Class>> getClassesSnapshot() {
    try {
      var snaps = _db.collection('classes').snapshots();
      snaps.handleError((e) {
        print(e);
        return Stream.empty();
      });

      return snaps.map(
          (list) => list.documents.map((doc) => Class.fromSnap(doc)).toList());
    } catch (e) {
      return Stream.empty();
    }
  }
}

factory Class.fromSnap(DocumentSnapshot classSnap) {
    return Class(
      id: classSnap.data['id'],
      title: classSnap.data['title'],
      categories: classSnap.data['categories'],
      length: classSnap.data['length'],
      displayImage: classSnap.data['imageUrl'],
    );
  }

,但是Firestore似乎不支持“列表”,并且停在了类别字段。 谢谢大家。

0 个答案:

没有答案