количество непрочитанных сообщений в БД в реальном времени с несколькими фильтрами - PullRequest
0 голосов
/ 13 июня 2018

Текущий базовый запрос огня в Java. Скрипт:

unread = 0
messagesRef.orderByChild("read").equalTo(1).on("value", function(ysnapshot) {
 unread = ysnapshot.numChildren();
});

Работает нормально.

Что если бы мне пришлось добавить еще один orderByChild из "sender", равный "employee"?

Я хочу получить количество непрочитанных сообщений, которое читается = 0, а отправитель - сотрудник.

enter image description here

1 Ответ

0 голосов
/ 13 июня 2018

Насколько я знаю, в firebase нет способа фильтровать подобное.Они предлагают денормализовать ваши данные, чтобы учесть этот вид контроля.См. Этот блог для более подробного описания или этот раздел документов .

. Кроме этого, вы можете обойтись без простого фильтра.Если у вас нет слишком большого объема данных, фильтр может выполнить эту работу за вас.

const employeeMail = unread.filter(({ sender }) => sender === 'employee')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...