使用'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(...)
但没有结果
答案
我必须做两件事来完成这项工作:
- 通过单击我的javascript控制台中显示的链接来创建复合索引。
- 将时间戳作为正确的
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'这种表达式作为部分条件