使用'where'的Firestore查询日期范围

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用'where'的Firestore查询日期范围相关的知识,希望对你有一定的参考价值。

如果今天和状态为真,我需要从集合中获取doc,但似乎没有效果这个查询是否有更好的解决方案?

我的查询:

var query = firebase.firestore().collection("book")
query = query.where('completed', '==', true) 
query = query.orderBy('publishdate').startAt(1555567200000).endAt(1555653599999)
query.get().then(...)

我也尝试过:

var query = firebase.firestore().collection("book")
query = query.where('completed', '==', true) 
query = query.where('publishdate', '>', 1555567200000)
query.get().then(...)

但没有结果

答案

我必须做两件事来完成这项工作:

  1. 通过单击我的javascript控制台中显示的链接来创建复合索引。 enter image description here
  2. 时间戳作为正确的Date()而不是数字传递:query = query.orderBy('publishdate').startAt(new Date(1555653600000));

有了它,它对我来说很好。请在此处查看工作示例:https://jsbin.com/gufogib/edit?js,console

以上是关于使用'where'的Firestore查询日期范围的主要内容,如果未能解决你的问题,请参考以下文章

在应使用条件的上下文(在 'where' 附近)中指定了非布尔类型的表达式。 关键字 'order' 附近有语法错误。

where `id` ='".$_GET['id']."'" 最后这句为啥这么多引号?

SQL中 为啥要避免在where后使用'1=1'这种表达式作为部分条件

thinkphp where里如何加两个判断条件求大神!

mysql查询语句提示Unknown column 'zp' in 'where clause',求解!

thinkphp中连贯操作,在where判断条件中不能使用Mysql内置函数,如YEAR,DAY啥的?