首页 > 解决方案 > 多日事件 Firebase 查询

问题描述

我正在构建这个需要多天待办事项的应用程序。不知道如何在 Firebase 中查询这些内容。

如果我设置了开始和结束时间,那么由于 Firebase 的限制,我无法查询这两个字段。

现在 > 开始日期 & 现在 < 结束日期

我可以使用一个数组并检查其中是否有日期,但是当时我不能查询超过 10 天。这对于月度计划来说并不方便。

存储和查询这些数据的聪明方法是什么?

当前查询与单日事件

$fire.firestore
      .collection('bonnen')
      .where('eventDateTime', '>=', rangeStart)
      .where('eventDateTime', '<', rangeEnd)

标签: javascriptfirebasefirebase-realtime-databasegoogle-cloud-firestore

解决方案


正如您所提到的,为了满足性能保证,Firestore 不支持此类查询。

相反,建议您进行两个单独的查询,然后根据您的需要过滤结果,因此您的查询将如下所示:

$fire.firestore
      .collection('bonnen')
      .where('eventDateTime', '>=', rangeStart)

$fire.firestore
      .collection('bonnen')
      .where('eventDateTime', '<', rangeEnd)

在此过滤代码中的结果以获取必要的数据之后,在您的情况下,您必须在每个查询的结果中获取公共值。


推荐阅读