我在 Firestore 中设置了几个集合。值得注意的是,我有一个成绩集,每个问题都有一个文件。
我的目标是汇总这些成绩并计算每个模块的平均值。我知道 Firestore 作为 NoSQL 数据库,本身不支持服务器端计算或复杂的聚合查询。
到目前为止,我已经考虑了两种方法:
在客户端读取所有文档:我可以在客户端获取所有相关文档并计算平均值。然而,随着文档数量的增加,这似乎会变得昂贵。
使用 Cloud Functions 计算平均值:这将涉及在添加新成绩时触发 Cloud Functions 更新平均值。然而,这似乎也可以显着增加写操作的数量。
有人知道不会导致大量读取或写入的想法吗?
谢谢!