Как написать запрос в Firebase, например, SELECT * ИЗ таблицы, ГДЕ status = ‘1’

#firebase #firebase-realtime-database

# #firebase #firebase-realtime-database

Вопрос:

Как написать запрос, например, получение данных из Firebase с помощью PHP. Например, я должен получить все данные, статус которых равен 1.

Вот код:
Вот код

Комментарии:

1. firebase — это нереляционная база данных, она не структурирована, как MySQL. Если бы я мог получить макет коллекции и документа, я мог бы помочь с запросом.

2. Привет, Пол! Не могли бы вы указать, как я могу получить данные из firebase, подобные верхнему запросу?

3. Вы можете проверить код » i.stack.imgur.com/WkRYN.jpg »

4. Для наглядности в вашем примере нет status дочернего элемента, поэтому любой запрос status не вернет результатов.

Ответ №1:

Согласно вашему снимку, это должно сработать

 var userId = firebase.auth().currentUser.uid;
return firebase.database().ref('/tutor/'   userId).once('value').orderBy('approve_status')
  .equalTo('1').then((snapshot) => {
  console.log(snapshot.val().bio);
  // Data you want...
});
 

Попробуйте документацию firebase, чтобы получить больше информации о запросах здесь

Комментарии:

1. @BusyTech Подождите секунду. Я не думаю, что это правильно. status На скриншоте нет узла (я уверен, это просто оплошность), но этот ответ представляет собой запрос по определенному пути /tutor/userId , который НЕ будет запрашивать все tutor узлы для всех пользователей , где status = 1. Он будет запускать запрос только по этому пути /tutor/-MBTJ... , который не будет работать.

2. @Jay approve_status дан, спасибо за предложение отредактировать

3. Это все равно неправильно .ref('/tutor/' userId). , не будет запрашивать весь узел tutor для ВСЕХ узлов, где approve_status = ‘1’. Он будет запрашивать только узел /tutor/userId, который не был тем, что запрашивал OP. Но … это было принято, так что, возможно, они все равно это поняли.