javascript - Firebase AND 查询

标签 javascript firebase firebase-realtime-database

我想使用 Firebase 来选择已开始但尚未结束或在未来 6 个月内开始的日历事件。

在伪 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.

我不想执行两个查询来过滤列表。可能只有几个结果与我想要的查询匹配,但可能有数百万个结果与其中一个查询本身匹配。

最佳答案

https://www.firebase.com/blog/2013-10-01-queries-part-one.html#between

firebase.orderByChild('start')
.startAt(startTime)
.endAt(endTime)
.once('value', function(snap) {
   console.log('messages in range', snap.val());
});

关于javascript - Firebase AND 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36894576/

相关文章:

android - Firebase Android根据 key 获取子值

javascript - jQuery .change 仅适用于 ID,而不适用于我尝试上课

javascript - Highcharts 多系列向下钻取到多个系列

ios - Firebase 存储错误

angular - Angular 如何处理异步初始化的属性?

Firebase 数据库 getInstance 导致应用程序崩溃

javascript - 如何获取函数外部变量的值?

javascript - 如何将javascript转换为Winjs

JavaScript JQuery 为什么按钮的 ID 没有被正确引用

android - Firebase limitToLast(查询)不解析响应