firebase equivalente a sql donde in ()

Necesito una consulta de firebase que sea equivalente a esta consulta en SQL:

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

¿Cómo harías esta lógica en firebase?

Gracias,

Las consultas de Firebase no tienen un operador OR o IN . Por lo tanto, no puedes asignar fácilmente la consulta anterior a Firebase.

Una solución alternativa sería implementar una function que simplemente rote sobre los elementos:

 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); } 

Tenga en count que lo anterior probablemente sea recursivo, así que úselo como fuente de inspiración y no como código de copyr / pegar.

Otra (y probablemente mejor) forma de resolver el problema es averiguar por qué se seleccionan estas tres filas y por qué no otras. Estas filas probablemente tienen algo en común. Una vez que sepa qué tienen en común, puede modelar eso en la estructura de datos.

Actualización (20160408): para get una buena explicación de por qué lo anterior es mucho más rápido en Firebase de lo que cabría esperar, consulte esta respuesta .

  • La interfaz de usuario de Firebase para almacenamiento con Kotlin produce un error
  • Firebase Firestre Android no puede deserializar el object
  • La información no se carga correctamente en Firebase-Firerestre
  • Inicio de session automático de Firebase para Android
  • Kotlin - ¿Cómo hacer onCompleteListener para get datos de Firestre?
  • Firebase: vuelva a autenticar Google Auth ERROR (Id_token no válido en IdP)
  • Android Firebase auth: class de descriptor de module local para com.google.android.gms.crash y com.google.firebase.auth no encontrado
  • FIRESTORE datos persistentes
  • La asignación de Firebase a Kotlin-Object no funciona
  • Problemas al upload imágenes a Firebase
  • Los types comodín generics no son compatibles