Firebase历来如何不同?

时间:2019-03-17 23:42:20

标签: javascript firebase firebase-realtime-database

我在一次或多次在Firebase API中了解更多内容时遇到了问题。 假设我有这个数据库结构 enter image description here 当我收听child_added时,它会按预期工作。

firebase.database().ref(this.getRootRef())
        .orderByChild('createdAt')
        .limitToLast(NUM_MSG_PER_REQUEST)
        .on('child_added', (datas) => {
        if (datas) {
            _callback(datas.val());
        }
    });

但是当我一次过滤时,什么都没有发生。

firebase.database().ref(this.getRootRef())
        .orderByChild('createdAt')
        .endAt('createdAt', '2019-03-17 02:46:50') // tested with startAt, equalsTo => the same result. No effect
        // .limitToLast(NUM_MSG_PER_REQUEST)
        .once('value', (vals) => {console.log(vals.val()});

有人可以详细解释这两个功能吗?在这种情况下,我应该写些什么做一次过滤器?

非常感谢!

于2019年3月18日更新

函数getRootRef()返回'/ messages / 2019-03-15'

这两个代码段都有效,但是我不清楚这里是如何应用过滤器的。

例如:orderByChild('createdAt')

使用此过滤器,第一个返回的结果按'createdAt'排序。但是第二个不会。它没有顺序返回。

0 个答案:

没有答案