首页 > 解决方案 > 我应该如何将日期输入与 Angular Fire 中的字段时间戳进行比较

问题描述

我的问题是我应该如何通过将输入日期与 firestore 中的字段时间戳进行比较来进行查询:

此字段这些字段不匹配

我会感谢你的帮助

谢谢

this.firestore.collection(DELIVERIES, ref => ref.where('timeKey', '==', date)

标签: angularfirebasegoogle-cloud-firestoreangularfire

解决方案


除非您的文档时间戳和 JavaScript 日期对象引用完全相同的时间,精确到纳秒,否则此查询不会给您想要的结果。JavaScript 对象甚至没有纳秒精度,因此完全有可能使用带有日期的查询永远无法找到该文档。

如果要查找时间戳在一整天内出现的文档,则可以改为使用范围查询来指定开始和结束时间,并使用日期覆盖该范围(或任何其他范围),例如:

this.firestore.collection(DELIVERIES, ref => ref
    .where('timeKey', '>', startDate)
    .where('timeKey', '<', endDate)

推荐阅读