У меня проблемы с пониманием того, как и когда-то в Firebase API.Предположим, у меня есть эта структура БД Когда я слушаю 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()});
Может ли кто-нибудь объяснить больше об этих 2 функциях, и в этом случае, что я должен написать, что я мог бы иметь фильтры при выполнении один раз?
Большое спасибо!
Обновление от 03/18/2019
Функция getRootRef () возвращает '/ messages / 2019-03-15' .
Оба кода работают, но здесь я не совсем понимаю, как применяются фильтры.
Например: orderByChild ('createAt')
С этим фильтром первый возвращает результаты, упорядоченные функцией createAt.».Но второй не будет.Возврат без заказа.