【问题标题】:How can I pass the document sub-collections along with the document JSON map in Flutter using Firebase?如何使用 Firebase 在 Flutter 中传递文档子集合以及文档 JSON 映射?
【发布时间】:2021-05-24 18:15:34
【问题描述】:

我正在尝试从 Firebase 获取“企业”集合中的所有文档及其子集合。

问题是当我像这样对 Firebase 进行查询时:

Stream<List<Business>> getBusinesses() {
return _db.collection('businesses').snapshots().map((snapshot) => snapshot
    .docs
    .map((document) => Business.fromJson(document.data()))
    .toList());

}

,子集合没有与 JSON 对象 document.data() 一起传递,所以在我的代码中,Business 对象没有完全完成,这意味着有空字段(约会,服务提供商, 服务),而不是从子集合中获取数据。

希望我已经很好地解释了这个问题,我的问题是如何获取所有文档数据,包括其子集合,并将其解析为业务对象?

谢谢。

【问题讨论】:

    标签: json firebase flutter document


    【解决方案1】:

    似乎是“问题”实际上是 Firestore 的重点:保持文档浅显,以便您只能获取所需的数据。然后,您可以按照未来可能使用的方式构建数据。

    请注意,子集合不是字段。

    您可以在此处添加一个查询,以获取每个业务的子集合(Appointments、ServiceProviders、Services)中的文档。您将获得用于查询的业务文档 ID。

    它通常看起来像:

    _db.collection('businesses').document(documentId).collection('Appointments')
    

    请注意,这可能是过多的数据。仅在用户需要/请求时才获取这些子集合中的文档可能会更好。

    【讨论】:

      猜你喜欢
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 2021-07-27
      • 2020-03-19
      • 1970-01-01
      • 2020-06-09
      • 2021-03-24
      相关资源
      最近更新 更多