Firebase Cloud Firestore-文档具有日期范围的日期范围查询
我想对具有多个范围的对象集合进行日期范围查询。确切的用例是Firebase Cloud Firestore-文档具有日期范围的日期范围查询,firebase,google-cloud-firestore,range,Firebase,Google Cloud Firestore,Range,我想对具有多个范围的对象集合进行日期范围查询。确切的用例是 每个对象都代表一个循环事件。该事件可以在多个日期发生。因此,考虑以下内容: object={'inventoryOnDates':['17-10-2019','18-10-2019','24-10-2019'.]} 我在客户端有一个日历,用户可以在其中选择日期范围 与此日期范围对应,我需要获取所有对象 我在想 为所选日期范围的每个条目进行调用,并在客户端处理聚合。问题是会有很多读取,因为我们会多次读取同一个列表对象的重叠日期范围 由
- 每个对象都代表一个循环事件。该事件可以在多个日期发生。因此,考虑以下内容:
object={'inventoryOnDates':['17-10-2019','18-10-2019','24-10-2019'.]}
- 我在客户端有一个日历,用户可以在其中选择日期范围
- 与此日期范围对应,我需要获取所有对象李>
谢谢大家! 据我所知,没有直接的方法来创建这个查询 通常,当我需要执行这样的日期范围查询时,我最终会在文档中存储粒度较小的日期,例如盘点发生的月份(和/或周)。然后,我可以查询具有用户选择的任何库存日期的文档,并在客户端执行附加过滤 如果用户选择多个月(或周),您可能仍然需要多个查询。但这通常比在他们选择的范围内每天执行单独的查询要好一点
当然,这一切都取决于使用模式。如果您的用户通常选择几天,那么像您现在这样使用天粒度就可以了。谢谢您的回复!据我所知,您是在建议:在我的Firestore对象中,我以更小的粒度级别存储对象,例如week。这可以是一个新的聚合标签。在客户端,对于给定的范围,我获取相应周的所有对象。不利的一面是,如果我的库存是在一天的水平,那么我的每一个对象都会更强大,并且有一周中所有日期的信息。所有附加过滤都将在客户端进行。这是正确的。您可以在文档中以不同的粒度级别存储其他字段,然后在客户端执行最终筛选