Firestore / Angularfire获取文档集合和这些文档的子集合

时间:2019-07-02 19:28:39

标签: firebase google-cloud-firestore angularfire2

Firebase或Angularfire2是否可以获取以及一个或所有直接子集合中的所有文档。

例如,如果我有一个类别集合,其中每个类别都有一个名称,以及一个子类别的子集合,是否可以通过其子类别集合来获取所有类别?

在我的头上,我想做这样的事情: afs.collection("categories").withSubcollection("subcategories");

我想到的另一个想法是可行的,但不可能实现,那就是在这样的路径中使用通配符: afs.collection("categories/{categoryId}/subcategories");

我知道这两种方法都不可行,只是想看看是否有一种方法可以做我正在显示的事情。

此刻,我将子类别存储在类别文档的数组中,但是文档具有最大大小,理论上类别可以具有无限数量的子类别。

1 个答案:

答案 0 :(得分:1)

Firestore中的读取操作总是很浅,并且仅从单个集合中返回文档。要从多个集合中读取文档,您将需要进行多个读取操作。

唯一的例外是当您要查询的集合具有相同的名称时,在这种情况下,您可以使用collection group query


老实说,我怀疑将类别存储在子集合中是否值得解决。文件的最大大小为1MB。我强烈建议您确定可以在其中存储多少个类别的路径,以及这是否对您的应用程序合理的限制。

相关问题