Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase Cloud Firestore-文档具有日期范围的日期范围查询_Firebase_Google Cloud Firestore_Range - Fatal编程技术网

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'.]}

  • 我在客户端有一个日历,用户可以在其中选择日期范围

  • 与此日期范围对应,我需要获取所有对象
我在想

  • 为所选日期范围的每个条目进行调用,并在客户端处理聚合。问题是会有很多读取,因为我们会多次读取同一个列表对象的重叠日期范围

  • 由于此操作,请尝试elasticsearch/Algolia之类的服务

  • 任何建议都会很有帮助


    谢谢大家!

    据我所知,没有直接的方法来创建这个查询

    通常,当我需要执行这样的日期范围查询时,我最终会在文档中存储粒度较小的日期,例如盘点发生的月份(和/或周)。然后,我可以查询具有用户选择的任何库存日期的文档,并在客户端执行附加过滤

    如果用户选择多个月(或周),您可能仍然需要多个查询。但这通常比在他们选择的范围内每天执行单独的查询要好一点


    当然,这一切都取决于使用模式。如果您的用户通常选择几天,那么像您现在这样使用天粒度就可以了。

    谢谢您的回复!据我所知,您是在建议:在我的Firestore对象中,我以更小的粒度级别存储对象,例如week。这可以是一个新的聚合标签。在客户端,对于给定的范围,我获取相应周的所有对象。不利的一面是,如果我的库存是在一天的水平,那么我的每一个对象都会更强大,并且有一周中所有日期的信息。所有附加过滤都将在客户端进行。这是正确的。您可以在文档中以不同的粒度级别存储其他字段,然后在客户端执行最终筛选