【问题标题】:Query documents by most recent date按最近日期查询文档
【发布时间】:2018-08-19 03:24:01
【问题描述】:

我有一个这样的简单收藏:

每个文档都有这些字段:

  • actividades: 列表
  • acuerdo: 字符串
  • corte: 日期

我想查询保存在corte中的最近日期的文档。

我想到的第一件事是这样的:

  1. 通过corte查询和排序集合,然后限制结果 到 1
  2. 从该结果中获取corte 字段。这是最近的日期
  3. 再次查询过滤corte中具有此日期的文档

这种方法正确还是有更好的方法?

我正在使用网络版的 firestore (javascript)

【问题讨论】:

  • 您可能应该说明您正在使用的环境(语言)...
  • 已编辑。谢谢。

标签: firebase google-cloud-firestore


【解决方案1】:

这是您能做的最好的事情,无需更全面地了解您是如何填充数据的,并且可能还会对您填充数据库的方式进行一些更改。但是,启用客户端持久性后,这并不是一个过于昂贵的策略,因为您的第二个查询不会导致读取从第一个查询获得的(缓存的)文档。

【讨论】:

  • 客户端持久化已启用。
【解决方案2】:

听起来对我来说是正确的方法。正如 Doug 所说:客户端持久性在这种情况下工作得非常好,可以最大限度地减少收费的读取操作。

常见的替代方法是创建一个单独的集合,其中包含只有日期的文档。但是在这种情况下,您仍然需要两个读取操作:一个来自日期集合,另一个来自 avances 集合。因此,您不会保存任何读取操作,而只会保存一些(最小)带宽。

【讨论】:

    猜你喜欢
    • 2013-09-14
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 2014-07-14
    相关资源
    最近更新 更多