【问题标题】:Firebase Firestore query by subcolletion lengthFirebase Firestore 按子集合长度查询
【发布时间】:2020-11-21 02:44:56
【问题描述】:

我正在尝试查询我的 Firestore 集合(在 Node.js 中为我的 Flutter 应用程序),并获取 10 个在其名为 Purchases 的子集合中具有最多对象的文档(以获得最畅销的产品)。

在 Firestore 中可以吗?还是我必须在子集合之外保留一个 int 字段来表示它的长度?

谢谢!

【问题讨论】:

  • 无法查询另一个集合中的数据。您确实必须将计数保留在您正在查询的集合中的父文档中。这是最近被问到的,所以我将链接一个副本以获得更长的解释。

标签: node.js firebase flutter google-cloud-firestore


【解决方案1】:

我以为最近有人回答了这个问题,但现在找不到,所以...

Firestore 查询(和其他读取操作)适用于单个集合或一组具有相同名称的集合。他们不考虑其他(嵌套或其他)集合中的任何数据,也不能基于聚合(例如文档数量)进行查询,除非这些聚合存储在查询集合中的文档中。

因此,解决方案确实是在您查询的集合中的文档中保留一个计数器,并在每次添加/删除子集合时更新该计数器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多