Flutter Firebase获取今天在字段之间的文档-日期范围(startDate / endDate)

雅各布·库恩

我的Firestore中有一些带有“ startDate”和“ endDate”的文档。现在,我想获取今天在startDate和endDate之间的每个文档。

final DateTime dateTime = new DateTime.now();
final QuerySnapshot querySnapshot = await colRef
    .doc(docId)
    .collection('subCol')
    .where('startDate', isLessThanOrEqualTo: dateTime)
    .where('endDate', isGreaterThanOrEqualTo: dateTime)
    .get();

该错误是非常不言自明的:

I / flutter(5978):'package:cloud_firestore / src / query.dart':断言失败:490行pos 18:'hasInequality == field':所有不等式(<,<=,>或> =)必须在同一字段上。但是您在'FieldPath([startDate])'和'FieldPath([endDate])'上有不等式过滤器。

但是必须在不过滤客户端的情况下解决我的问题。也许可以为此创建索引,如果这样,它看起来像什么?另一种方法是将日期范围保存在一个字段中,而不是保存startDate / endDate,但是在这里我什至不知道如何过滤它。在SQL中如此简单的问题,在Firebase中是如此困难。

亲切的问候,

雅各布

LeadDreamer

是的,“必须有”,但没有。您将必须更加实用。我有一个类似的情况,但对我来说,我知道(我的代码,我的规则)事件不到一周的时间长。为了减少查询中读取的文档数量,我过滤了

  .where('startDate', isLessThanOrEqualTo: dateTimePlusMaximumEventInterval)
  .where('startDate', isGreaterThanOrEqualTo: dateTimeMinusMaximumEvntInterval)

(即小于将来的最大事件间隔,并且不大于过去的最大事件长度)...然后在本地进行其余操作。

这与Firestore如何使用索引快速分割结果并以可扩展的方式分片数据有关。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Java中使用startDate和endDate按日期过滤

使用startDate和endDate按月份分组

如何查找startDate和endDate传递字符串之间的每周日期,例如动态传递的“ Wed,Thu”

选择具有相同startDate和endDate的文档

startDate和endDate验证

endDate>角材料中的startDate

symfony2如何在包含startdate enddate的两个日期之间创建查询生成器

ng2-daterangepicker-以编程方式设置startDate和endDate

Firebase日期范围查询以获取具有starDate和endDate的文档

获取今天在熊猫的日期

枢轴表,参考输入参数StartDate和EndDate

将Period添加到startDate不会产生endDate

StartDate-EndDate与Carbon中的EndDate-StartDate相同

请提供SQL查询,该查询返回StartDate和Enddate之间存在Current SYSDate的行

将StartDate和EndDate之间的差异转换为小时,分钟和秒

如何将EndDate的minDate设置为StartDate中的值

在php或javascript中找到startdate和enddate之间的所有日期,并以一定天数间隔

startDate,endDate,并将文本添加到ViewController中的标签

引导日期选择器endDate

按日期获取Weekstartdate和enddate

SSRS:基于EndDate参数的StartDate参数的默认值

jQuery UI DateRangePicker的startDate和endDate在加载时

使用 StartDate 和 DefaultDuration 计算 EndDate

考虑到不同月份的 startDate 和 endDate 月份,如何生成日期列表?

如何通过比较多行和多列来获取 StartDate 和 EndDate

Firebase - 获取从 startDate 到 endDate 的数据

在输入字段中使用 datepicker 类时,bootstrap datepicker (autoclose,endDate,startDate) 不起作用

获取从 StartDate 到 EndDate 的期间列表

使用 momentjs 或 javascript 添加范围内的重复日期和时间(StartDate 和 EndDate)