如何使用 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 时才获取这些子集合中的文档可能会更好。
我正在尝试从 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 时才获取这些子集合中的文档可能会更好。