首页 > 解决方案 > 如何在 Firestore 中检索文档的子集合

问题描述

我有一个具有以下结构的 Firestore 集合:

events > default > participants > participant1
                                > participant2
                 > date

等等。events集合也是如此,它有许多带有随机键的文档(我以默认值为例)。在“默认”中有各种字段,但也是participants.

当我检索事件/默认值时,我希望同时检索参与者列表,但我只取回字段(日期等) - 我如何同时获得“参与者”集合?

标签: firebasegoogle-cloud-firestore

解决方案


Firestore 查询很浅,不考虑集合中的文档,而不是您正在查询的文档。没有类似 SQL 的“连接”可以合并来自多个集合的文档。

如果您查询事件,那么您将只能获得该集合中的文档。如果您想要参与者,则需要使用子集合的完整路径(包括其父文档 ID)进行额外查询。例如,在 JavaScript 中:

firestore.collection("events").doc(knownId).collection("participants").get()

推荐阅读