【问题标题】:How to get number of documents BY filter of a collection in Android Cloud firestore如何通过 Android Cloud firestore 中的集合过滤器获取文档数
【发布时间】:2020-09-15 16:44:21
【问题描述】:

假设我在下面有一个名为“students”的集合:

  • 集合students有3个字段:
    • 姓名
    • 年龄
    • 状态(0:通过,1:失败,-1:未测试)

(“状态”字段描述学生通过或失败或尚未测试)

  • 集合 students 有 1000 个具有不同“状态”的文档
  • 现在我想获取 [通过/失败/未测试] 考试的学生人数
  • 每当学生的“状态”更新为 0/1/-1 时,我都必须重新计算。

我该如何解决这个问题? 我不应该每次更新都查询所有数据,因为这会导致高成本。请注意,我想根据“状态”字段进行计数。

【问题讨论】:

    标签: android firebase google-cloud-firestore


    【解决方案1】:

    您所描述的是一个常见用例,并在 aggregation queries 上的 Firebase 文档中进行了介绍。为了大规模提高这些(成本)效率,您需要将聚合值存储在数据库中,然后在每次写入操作时对其进行更新。

    可以从客户端执行更新,但更常见的是从云函数中执行。链接的文档涵盖了这两种方法。

    【讨论】:

      猜你喜欢
      • 2020-07-24
      • 1970-01-01
      • 2019-03-07
      • 2021-12-23
      • 1970-01-01
      • 2018-03-15
      • 2018-04-14
      • 1970-01-01
      相关资源
      最近更新 更多