首页 > 解决方案 > 查询 Firestore 以获取每小时的每日平均值

问题描述

因此,我正在使用一些传感器监控鱼缸的温度和 pH 值,并将数据输出到 Firestore。我正在使用 javascript 来阅读它,但现在我需要查看所述时间范围内的日平均温度。

这些文档有一个温度字段和一个时间戳,firestore 每分钟都会收到一个新文档,但我不需要一整天的平均值,只需每小时一次。我需要一种方法来获取仅读取具有完整小时时间戳的文档的每日平均值,并查询它的(今天、上周、上个月)平均值。我还没有代码,因为我真的不知道如何进行此查询。

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


施特劳斯,

通过随机的 Firestore 搜索发现了这篇文章。

您可以创建一个每小时收集记录的cronjob ,然后计算平均值并将其转储到新集合中。然后一个小时后,再次收集过去一小时的记录,依此类推。

因此,您将拥有 1 个包含所有分钟记录的集合,以及另一个包含每小时统计数据的集合。只需阅读每小时统计数据之一。

此外,从长远来看,这将节省大量读取。获取 1 小时的数据是 1 次读取(由于 cronjob,一次读取 60 次)。而不是每次刷新 60 次(例如)


推荐阅读