【问题标题】:Firestore - Best way to retrieve historical records at an interval?Firestore - 定期检索历史记录的最佳方式?
【发布时间】:2023-04-05 23:16:01
【问题描述】:

我正在使用 Cloud Firestore(采用火焰定价计划),并且每分钟我都在存储股票的价格。这是文档的样子:

{ ingestTimeEpoch: 1511468780797, price:20, stockName:foo }

我希望能够以 15 分钟的间隔获取最近 30 个价格,例如 1 分钟前、16 分钟前、31 分钟前的价格等...我可以获取所有记录集合,并获得数组中的第 0 个价格、第 14 个价格、第 29 个价格等......但类似的东西会让我使用 30 个价格 * 15 分钟间隔 = 450 次读取一分钟,即每天 648,000 次读取我的火焰计划配额(250k 读取/天)。

而且我认为我不能每 15 分钟(而不是每 1 分钟)存储一次这些记录,因为我确实需要它们每分钟一次用于其他查询。此外,我正在跟踪超过 1 只股票,因此需要尝试为所有这些股票获取这些值 - 每分钟一次。

【问题讨论】:

    标签: firebase firebase-realtime-database google-cloud-firestore


    【解决方案1】:

    我认为没有任何查询功能可以让您说“每 15 条记录给我一次”。

    我不会寻找灵丹妙药,而是添加一些重复数据,让您的查询变得简单。如果您希望每 15 分钟有一个价格,请创建一个额外的集合,其中每 15 分钟只包含一个文档。然后在那个集合中你的查询是微不足道的:只要检索你需要的文件/宿舍。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      相关资源
      最近更新 更多