我有一个简单的收藏集,像这样:
每个文档具有以下字段:
actividades
:列表 acuerdo
:字符串 corte
:日期 我想按corte
中保存的最新日期查询文档。
我想到的第一件事就是这样做:
corte
查询和排序集合,然后限制结果
到1 corte
字段。那是最近的日期corte
中具有此日期的文档这种方法正确还是有更好的方法?
我正在使用Firestore的网络版本(javascript)
答案 0 :(得分:2)
这是您可以做的最好的事情,而无需更全面地了解如何填充数据,并且可能也无法对填充数据库的方式进行一些更改。但是,启用客户端持久性后,这并不是一个过于昂贵的策略,因为您的第二个查询将不会读取从第一个查询获得的(缓存的)文档。
答案 1 :(得分:1)
听起来像是对我的正确方法。正如道格所说:在这种情况下,客户端持久性可以很好地工作,以最大程度地减少带电的读取操作。
常见的替代方法是创建一个仅包含日期的文档的单独集合。但是在这种情况下,您仍然需要进行两次读取操作:一项来自日期集合,另一项来自avances集合。因此,您将不保存任何读取操作,而仅保存一些(最小)带宽。