firebase - Cloud Firestore - 文档具有日期范围的日期范围查询
问题描述
我想对具有多个范围的对象集合进行日期范围查询。确切的用例是
每个对象代表一个重复事件。该事件可以在多个日期发生。因此,请考虑以下事项:
object = {'inventoryOnDates': ['17-10-2019', '18-10-2019', '24-10-2019' ...]}
我在客户端有一个日历,用户可以在其中选择一个日期范围。
- 对应于这个日期范围,我需要获取所有对象。
我在想
对选定日期范围的每个条目进行调用,并在客户端处理聚合。问题是会有很多读取,因为我们将在重叠的日期范围内多次读取相同的列表对象。
尝试使用 elasticsearch/Algolia 之类的服务来执行此操作
任何建议都会非常有帮助!
谢谢!
解决方案
据我所知,没有直接的方法可以创建此查询。
通常,当我需要执行这样的日期范围查询时,我最终会在文档中存储粒度较小的日期,例如进行盘点的月份(和/或几周)。然后我可以查询具有用户选择的任何库存日期的文档,并在客户端进行额外的过滤。
如果用户选择多个月(或几周),您可能仍需要多个查询。但这通常比在他们选择的范围内每天执行一个单独的查询要好一些。
当然,这一切都取决于使用模式。如果您的用户通常选择几天,那么像现在这样使用天粒度可能没问题。
推荐阅读
- javascript - angularjs - 导入 angular.js 后的 javascript 代码不起作用
- arrays - 创建一个字符串数组作为参数发送给接受字符串的函数
- mysql - 如何在 Golang protobuf v3 结构中获取 time.Time?
- java - 如何在 postgres 中获取 2 个时间戳之间的所有数据。
- c# - 必须使用 SQL Server 数据库为我的 C# 应用程序创建一个连接字符串
- ms-access - 请解释为什么表单更改会触发运行时错误 3464
- forms - Symfony 表单类别 - 子类别
- c# - 将原始 SQL“转换”为纯实体框架
- ios - Google Maps iOS SDK:地图未加载,尽管已启用且密钥正确
- angular - Jasmine 中是否有浅渲染