如何获取Firestore文档中存储的集合数量?

时间:2020-08-22 15:35:07

标签: flutter google-cloud-firestore

我的Firestore结构如下所示。有一个包含文档的收藏夹聊天,这些文档也包含不同的收藏夹。有什么办法可以获取每个文档中存储的馆藏数量

1 个答案:

答案 0 :(得分:1)

使用任何Firestore Web或移动SDK都无法列出或计算子集合。相反,您可能应该使用自己的代码来跟踪所需的任何内容,这些代码会写入可维护任何必需计数的文档。

请注意,子集合并没有真正存储在文档中。它们仅嵌套在该文档的名称下。您在此处显示的屏幕截图实际上缺少文档,正如您从控制台中的斜体字中看到的那样。

如果您愿意调用后端,则可以使用listCollections()之类的方法来获取嵌套在文档下的子集合列表。列出集合的功能仅适用于服务器SDK,而不适用于Web和移动客户端SDK。

我会说,具有随机生成的ID进行收集可能不是最佳的数据库设计。您最好对集合使用静态名称,这样就不必担心列出它们。如果您将随机命名的项目作为文档放置在子集合中,则只需查询子集合即可毫无问题地列出它们。