【发布时间】:2021-08-18 19:31:48
【问题描述】:
我正在使用 Firebase 创建我的第一个项目,并且我需要一些基于用户输入的统计数据。我知道 Firebase(或一般的 NoSQL 数据库)对于统计数据并不理想,但它们在任何其他情况下都适用于我,所以我想试一试。
我有什么:
我正在开发人们可以邀请朋友为他们的公司工作的应用程序,所以我有一个“推荐人”的集合,其中每个推荐人的 ID 基本上是推荐人所属用户的用户 ID,然后有存储数据的名称为“items”的子集合。
我的数据是什么样的: 每个项目都有这些数据:
- 申请人
- 申请日期
- 职位(职位的一部分是 positionId 和该职位来自的部门)
- 状态
我想要的是让用户根据以下内容进行统计:
- 日期范围
- 状态
- 部门
我在想什么:
一旦用户提出请求,让 firebase 遍历所有推荐可能不是最好的主意,因为它在 firebase 上可能会变得非常昂贵。我在想的是using cloudfunctions 总是在发生变化时计算统计数据,例如当一个新的申请人申请时,我会增加一个柜台,与特定部门的柜台相同。但是我觉得这适用于总数或预定义查询,例如“上个月”,但一旦我不知道用户会选择什么日期,它就会开始变得棘手。
知道如何设计这样的东西吗? 非常感谢!
【问题讨论】:
标签: firebase google-cloud-firestore nosql nosql-aggregation