Firebase Database – Recuperar varias entradas

Mis datos se denormalized y utiliza un índice inverso como sugerido por el equipo de firebase. Algo parecido a:

{ "users": { "alovelace": { "name": "Ada Lovelace", // Index Ada's groups in her profile "groups": { // the value here doesn't matter, just that the key exists "techpioneers": true, "womentechmakers": true } }, ... }, "groups": { "techpioneers": { "name": "Historical Tech Pioneers", "members": { "alovelace": true, "ghopper": true, "eclarke": true } }, ... } } 

Ahora quiero cargar todos los grupos de Ada. Puedo obtener fácilmente una lista de los ID de grupo a los que pertenece, ya que es parte de su objeto de usuario.

¿Hay alguna forma de consultar a todos los grupos específicos de Ada por ID a la vez? ¿O necesito crear un ValueEventListener por ID de grupo y solicitar cada grupo por separado?

En el lado de la seguridad – supongamos que cada grupo sólo es legible por sus miembros, así que no puedo consultar a todos los grupos y ordenarlos después del hecho.

Supongo que podría hacer algo como:

 var ref = new Firebase("<..>/groups"); ref.orderByChild("members/alovelace").equalTo(true) .once('value').then(function(dataSnapshot) { // handle read data }) 

(No probado, pero de acuerdo con esto Deep-Queries ahora son compatibles)

  • Cómo obtener mediante programación la lista de usuarios registrados en Firebase
  • La transacción de Firebase no aborta remotamente si previamente se ha comprometido localmente
  • ¿Cómo obtener la hora actual del servidor firebase en milisegundos?
  • Cómo obtener la clave del valor en firebase
  • Error de autenticación de Token Firebase
  • Perdiendo conexión con la base de datos de Firebase después de actualizar a nuevo SDK
  • FirebaseAuthUserCollisionException?
  • Implementar una función de recibo de lectura en la aplicación de mensajería de grupo de Firebase
  • No se puede autenticar a los usuarios con Firebase mientras se utilizan datos móviles en la aplicación de Android, pero no hay error al utilizar wifi
  • Firebase Authentication FirebaseNetworkException: Se ha producido un error de red (como el tiempo de espera, la conexión interrumpida o el host inaccesible)
  • Cómo enviar mensajes uno a uno utilizando la mensajería de Firebase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.