Если вы видите, что Firebase загружает все вопросы, а не только те, которые соответствуют условию вашего запроса, вы, вероятно, пропускаете необходимый индекс в своих серверных правилах. Серверу базы данных нужен такой индекс, иначе он не сможет выполнить заказ / фильтр и просто отправит все данные клиенту (который затем упорядочит / отфильтрует).
Для вас этот индекс будет посмотрите что-нибудь:
"SETS": {
"$category": {
"questions": {
".indexOn": "setNo"
}
}
}
Полную документацию по добавлению индексов в ваши правила смотрите Индексация данных .
С этими правилами сервер Firebase создаст индекс под questions
всех setNo
значений дочерних узлов и использует его для упорядочения / фильтрации.