我想要使用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個月內(或已經開始)開始的任何事情,都需要提取開始日期已經過去的每個事件。 –