我应该如何比较 Angular Fire 中的日期输入和字段时间戳
How I should compare an Date input with an field timestamp in Angular Fire
我的问题是我应该如何通过将输入日期与 firestore 中的字段时间戳进行比较来进行查询:
timeKey是一个:时间戳字段
日期 是:2019 年 10 月 5 日星期六 00:00:00 GMT-0300(智利夏令时)
这些字段这些字段不匹配
我会感谢你的帮助
谢谢
this.firestore.collection(DELIVERIES, ref => ref.where('timeKey', '==', date)
除非您的文档时间戳和 JavaScript 日期对象指的是完全相同的时刻,精确到纳秒级,否则此查询不会给您想要的结果。 JavaScript 对象甚至没有纳秒精度,因此完全有可能永远无法使用带日期的查询找到此文档。
如果您想查找时间戳发生在一整天内的文档,您可以改为使用范围查询来指定开始和结束时间,使用日期来覆盖该范围(或任何其他范围),例如示例:
this.firestore.collection(DELIVERIES, ref => ref
.where('timeKey', '>', startDate)
.where('timeKey', '<', endDate)
我的问题是我应该如何通过将输入日期与 firestore 中的字段时间戳进行比较来进行查询:
timeKey是一个:时间戳字段
日期 是:2019 年 10 月 5 日星期六 00:00:00 GMT-0300(智利夏令时)
这些字段这些字段不匹配
我会感谢你的帮助
谢谢
this.firestore.collection(DELIVERIES, ref => ref.where('timeKey', '==', date)
除非您的文档时间戳和 JavaScript 日期对象指的是完全相同的时刻,精确到纳秒级,否则此查询不会给您想要的结果。 JavaScript 对象甚至没有纳秒精度,因此完全有可能永远无法使用带日期的查询找到此文档。
如果您想查找时间戳发生在一整天内的文档,您可以改为使用范围查询来指定开始和结束时间,使用日期来覆盖该范围(或任何其他范围),例如示例:
this.firestore.collection(DELIVERIES, ref => ref
.where('timeKey', '>', startDate)
.where('timeKey', '<', endDate)