Firebase фильтр, где значение - PullRequest
0 голосов
/ 25 февраля 2020

Следующий вызов:

fDB.ref(`organization/${uid}/attendance/${date}`)
.once('value')
.then(d => console.log(d.val()))

возвращает объект примерно так:

{ '-Lz8YxH_n7a5C6wv5vrX': 'absent',
  '-Lz8YxHbn5iOCxaGUBZt': 'absent',
  '-Lz8YxHfQPKH5BaIJBK_': 'absent',
  '-Lz8YxHiwp8QZW3TqAFn': 'present',
  '-Lz8YxHjtMUkroeyT5bv': 'absent',
  '-Lz8YxHmHqDblmBY4jyx': 'absent',
  '-Lz8YxHo-e4AiOwwex0s': 'absent',
  '-Lz8YxHqQXWoaGOFRLrO': 'present',
}

как я могу запрашивать ТОЛЬКО значения, которые отсутствуют? Я попытался:

fDB.ref(`organization/${uid}/attendance/`)
    .orderByChild(date)
    .equalTo('absent')
    .once('value')
    .then(d => console.log(d.val()))

Вышеуказанное вернуло ноль Я также попытался

fDB.ref(`organization/${uid}/attendance/${date}`)
    .orderByKey()
    .equalTo('absent')
    .once('value')
    .then(d => console.log(d.val()))

То же самое, ноль. Как мне этого добиться?

1 Ответ

1 голос
/ 25 февраля 2020

Будет отфильтровано с помощью orderByValue на узле даты с equalTo, что позволит вам запустить фильтр в значениях:

 fDB.ref(`organization/${uid}/attendance/${date}`)
    .orderByValue()
    .equalTo('absent')
    .once('value')
    .then(d => console.log(d.val()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...