firebase, эквивалентная sql, где в ()

Мне нужен запрос firebase, эквивалентный этому запросу в SQL:

select * from your_table where id in (123, 345, 679) 

Как бы вы сделали эту логику в firebase?

спасибо,

В запросах Firebase нет оператора OR или IN . Таким образом, вы не можете легко сопоставить вышеуказанный запрос с Firebase.

Одним из способов решения этой задачи было бы реализовать функцию, которая просто перебирает элементы:

 function loadThese(ids, callback) { var rows = []; while (ids.length > 0) { var id = ids.splice(0,1)[0]; refToTable.child(id).once('value', function(snapshot) { rows.push(snapshot.val()); }); } callback(rows); } 

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

Другой (и, вероятно, лучший способ) решить эту проблему – выяснить, почему эти три строки выбраны и почему не другие. У этих строк, вероятно, есть что-то общее. Когда вы знаете, что у них общего, вы можете моделировать это в структуре данных.

Обновление (20160408): для хорошего объяснения, почему приведенное выше намного быстрее на Firebase, чем вы могли ожидать, см. Этот ответ .

  • Можно ли получить подкласс класса Kotlin из суперкласса?
  • Я не могу найти метод populateViewHolder в классе FirebaseRecyclerAdapter
  • Возвращаемое значение Kotlin возвращает значение в firebase
  • База данных Firebase Realtime, как узнать состояние «синхронизации»?
  • Дезертизация пожарной базы Котлин
  • Использование FirebaseListAdapter в Котлине
  • Сбор данных из разных снимков в FirebaseAdapter
  • Запрещено разрешение на использование Firebase
  • Android - как реализовать несколько ViewHolder для макета заголовка другого для макета модели в адаптере Firestore RecyclerView
  • Запросы Firebase никогда не заканчиваются на Android
  • Как прочитать ряд элементов под дочерним узлом в Firebase с использованием FirebaseAdapter
  • Давайте будем гением компьютера.