Firebase Запросить всех пользователей с вложенными дочерними элементами с условиями (Nodejs) - PullRequest
0 голосов
/ 01 февраля 2019

Как сделать запрос для создания отчетов всем пользователям с этой структурой.Я читаю документацию, но, похоже, я не могу на самом деле делать такие запросы, например: я хочу опросить всех пользователей, у которых есть страховки активных животных.

users
  uuid
   ...
   insurances -> Animals
                 1 -> state:active 
                           date:...
                 2 -> state:requested
                           date:...

  ...               

enter image description here

1 Ответ

0 голосов
/ 01 февраля 2019

Запросы Firebase работают с простым списком дочерних узлов в расположении, которое вы запрашиваете.Они могут упорядочивать / фильтровать только те значения, которые находятся по известному пути под каждым прямым потомком.

Поскольку ваши значения ниже insurances/Animals/???, он не может запрашивать эти значения.

Обычно вам нужно решить эту проблему одним из следующих способов:

  1. Создание плоского списка всех животных для запроса.У каждого животного в этом списке должно быть хотя бы значение, которое вы хотите отфильтровать, но оно может быть полной копией информации о животном для каждого пользователя.
  2. Предоставление каждому пользователю свойства, указывающего, есть ли у него застрахованное животное.или количество застрахованных животных, которых они имеют, и обновите их при обновлении страховки.Таким образом, вы можете запросить с помощью firebase.database().ref("users").orderByChild("insuredAnimalCount").startAt(1).

Также посмотрите мой ответ здесь: Запрос Firebase с двойным вложением

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