функции firebase извлекают данные - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть структура данных, подобных этой, в базе данных

-B4PWzQ84KUOeuTuxVY:{

doctorId:2,
Message:abc
}

Я хочу получить сообщение на основе StudentId, там так много записей мой код извлекает только весь объект, но мне нужны только значения сообщений, где значение doctorId равно 2

   db.ref('students/' )
        .orderByChild("DoctorId")
        .equalTo("2")
        .once('value',(whereresult) => {
        var message = whereresult.val();
 });

1 Ответ

0 голосов
/ 08 ноября 2018

В коде есть три проблемы:

  1. Имена свойств чувствительны к регистру, поэтому doctorId <> DoctorId.
  2. Вы сохраняете идентификатор как число, поэтому следует передать число equalTo.
  3. Когда вы выполняете запрос к базе данных Firebase, потенциально может быть несколько результатов. Таким образом, снимок содержит список этих результатов. Даже если есть только один результат, снимок будет содержать список из одного результата.

Всего:

db.ref('students/' )
  .orderByChild("doctorId")
  .equalTo(2)
  .once('value',(snapshot) => {
      snapshot.forEach(function(child) {
          console.log(child.key, child.val());
      });
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...