我想要使用Firebase选择已启动但尚未结束的日历活动,或者未来6个月内启动的日历活动。Firebase AND查询
在伪SQL,正是我想要的是:
WHERE `start` < {6 months from now} AND `end` > {now}
的问题是,我知道如何让这些用例之一,但不能同时:
firebase.orderByChild('start').endAt(+new Date() + 15724800000)
firebase.orderByChild('end').startAt(+new Date())
如果我试图结合这两个,我得到以下错误:
Uncaught Error: Query.orderByChild: You can't combine multiple orderBy calls.
我不想执行两个查询,以过滤列表下来。只有可能有几个匹配我想要的查询的结果,但可能有数百万个结果与它们自己的任一查询相匹配。
密切相关:[查询基于多个其中火力子句](http://stackoverflow.com/questions/26700924/query-based-on-multiple-where-clauses-in -firebase)。你是否已经看过,如果你可以结合那里描述的'start'和'end'属性? –
@FrankvanPuffelen问题是,我试图拉的事件可能已经开始,所以我不能使用'.startAt(start)',因为这会忽略任何已经开始的事情。我不想用两个查询来做到这一点,因为这两个查询都可能返回大量数据。返回在未来6个月内(或已经开始)开始的任何事情,都需要提取开始日期已经过去的每个事件。 –