如何使用 Firebase 在 Flutter 中将文档子集合与文档 JSON 映射一起传递?

How can I pass the document sub-collections along with the document JSON map in Flutter using Firebase?

我正在尝试从 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(),所以在我的代码中,业务对象不是t 完全完成,这意味着有空字段(约会、服务提供者、 服务),而不是从子集合中获取数据。

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

谢谢。

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

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

您在这里可以做的是添加一个查询,为每个企业获取子集合(约会、服务提供者、服务)中的文档。您将获得用于查询的业务文档 ID。

它通常看起来像:

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

请注意,这可能是太多的数据。仅当用户 needed/requested 时才获取这些子集合中的文档可能会更好。