Запрос startAt и endAt для даты в базе данных - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть следующая структура данных:

attendance
--- 2020-02-09-PM
--- 2020-02-11-PM
--- 2020-02-16-AM
--- 2020-02-16-PM
--- 2020-02-18-PM

Я хотел бы получить, например, дату 2020-02-16, мне нужны и PM, и AM. Поэтому я хотел сделать запрос к моей БД, чтобы получить только эти данные.

Вот моя попытка:

function getAttendanceCount(orgUid, dates) {
   orgUid.forEach(uid => {
     dates.forEach(date => {
       const getAttendCount = fDB.ref(`organization/${uid}/attendance`)
      .orderByChild('attendance')
      .startAt(date+'-AM')
      .endAt(date+'-PM')
      .once('value')
      .then(c => console.log(c.val()));
   });
 })
}

Мой console.log пуст. Есть идеи, как мне этого добиться?

1 Ответ

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

Измените это:

const getAttendCount = fDB.ref(`organization/${uid}/attendance`)
      .orderByChild('attendance')

На это:

const getAttendCount = fDB.ref(`organization/${uid}/attendance`)
      .orderByKey()

Причина, по которой вам нужно использовать orderByKey(), заключается в том, что дата действует как ключ, а не как child, который имел бы пример значения:

"name" : "peter"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...