Недавно мне поручили создать простую внутреннюю вики для моей компании, и я подумал, что сейчас самое время использовать Google Firebase для своей серверной части. Ранее я использовал Firebase для размещения нескольких веб-приложений и был доволен результатами.

Если вы не знакомы с firebase, это платформа для разработки мобильных и веб-приложений от Google. Он предлагает множество функций и, что самое приятное, он бесплатный (хотя за расширенные функции взимается плата). Часть базы данных платформы представляет собой базу данных NoSql, в которой данные хранятся в формате JSON.

Запрос данных

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

var db = firebase.database();

Далее мы будем ссылаться на наш родительский ключ, введя путь

var ref = db.ref('playerData/playerName/lebron');

Далее мы добавим функцию заказа. В настоящее время в Firebase есть четыре функции упорядочивания, которые мы можем использовать:

  1. порядок по ключу ()
  2. заказ по дочернему ()
  3. порядокПоЗначению()
  4. заказ по приоритету ()

В этом примере мы будем использовать orderByKey, но другие функции упорядочивания работают аналогично. Теперь мы прикрепим функцию заказа

ref.orderByKey().on('value',function(snapshot){
var data = snapshot.val();
for(key in data){
   console.log(data[key));
}
});

Приведенный выше код циклически перебирает все клавиши на объекте lebron и выводит их на консоль.

добавив функцию запроса, мы можем быть еще более конкретными. В Firebase есть четыре функции запросов, которые мы можем использовать:

  1. равно
  2. limitToFirst
  3. limitToLast
  4. равно
  5. endAt

мы будем использовать функцию запроса equalTo для нацеливания на apg (помощь за игру).

ref.orderByKey().equalTo('apg').on('value',function(snapshot){
var data = snapshot.val();
for(key in data){
   console.log(data[key));
}
});

это выведет 8.8 на консоль.

вывод

Как видите, делать запросы в Firebase очень просто. Просто убедитесь, что ваши данные правильно структурированы. Если нет, вы можете столкнуться с трудоемкими проблемами.