Angular Firebase Как найти и получить данные по полю - PullRequest
1 голос
/ 11 июля 2019

У меня есть данные в базе данных реального времени на базе Firebase со следующей структурой:

    {   "tests" : [ {
           "description" : "55",
           "number" : "11",
           "serie" : "0"   }, {
           "description" : "22",
           "number" : "13",
           "serie" : "0"   }, {
           "description" : "Test",
           "number" : "55",
           "serie" : "2"   
} ]

И я хочу получить все мои данные, где поле "serie" равно "0".У меня есть метод в моем сервисном компоненте для извлечения всех данных тестов, например:

  getTests(){
    firebase.database().ref('/tests')
      .on('value',(data: DataSnapshot)=>{
        this.tests= data.val() ? data.val():[];
        this.emitTests;
      }
    );
  }

В настоящее время я не знаю, как получать только те данные, где серия равна 0.

1 Ответ

2 голосов
/ 11 июля 2019

Это делается с помощью запроса к базе данных Firebase:

firebase.database().ref('/tests')
  .orderByChild("serie").equalTo("0")
  .on('value',(data: DataSnapshot) => {
    data.forEach((child: DataSnapshot) => {
      console.log(child.key, child.val());
    });

Как видите, запрос в Firebase состоит из двух шагов:

  1. Вы упорядочиваете данные либо по дочернему свойству, либо по его ключу значения.
  2. Затем вы фильтруете данные на основе того, что вы заказали.

Также см. Документацию Firebase по упорядочению и фильтрации данных .

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