Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

305
Vistas
Firebase - Obtener datos por clave o valores chid - javascript

Estoy tratando de leer los datos de la base de datos de firebase y mostrar lo mismo en una página web.

La estructura de mi base de datos es la siguiente:Imagen aquí

Si ve la imagen, puedo leer los " UserData " usando el siguiente código:

 firebase.initializeApp(config); var database = firebase.database(); var ref = database.ref('UserData'); ref.once('value', gotData1, errData); function gotData1(data){ //console.log(data.val()); var usrData = data.val(); var keys = Object.keys(usrData); //console.log(keys); for (var i = 0; i< keys.length; i++){ var k = keys[i]; var id = usrData[k].AssignedID; var name = usrData[k].Name; $(document).ready(function() { var $formrow = '<tr><td>'+id+'</td><td>'+name+'</td></tr>'; $('#userInfo').append($formrow); }); } }

En la parte resaltada de la imagen, puede ver claves con valores 196214, 196215, 196216

Ahora, necesito obtener los valores de "Uno, Contar" haciendo coincidir los valores clave con el ID asignado disponible.

¿Cómo puedo lograr lo mismo?

Actualizar, JSON como texto -

 { "app_url" : "https://app_name?ls=1&mt=8", "UserData" : { "HNpTPoCiAYMZEeVOs01ncfGBj6X2" : { "Name" : "Arunima Vj" "Email" : "asd@upp.com", "AssignedID" : 196214 }, "VXU2tdGdzZX90PJa9mpEL3zAiZo2" : { "Name" : "Lakshman Medicherla" "Email" : "asd@upp.com", "AssignedID" : 196215 }, "dFlwtqDNrja2RkOySVtW106IQP62" : { "Name" : "Prashanth Sripathi" "Email" : "asd@upp.com", "AssignedID" : 196216 } } "teams" : { "196214" : { "1105" : { "One" : 7619, "count" : 24 }, "1379" : { "Two" : 7145, "count" : 21 } }, "196215" : { "1111" : { "One" : 7779, "count" : 20 }, "1508" : { "Two" : 1176, "count" : 21 } }, "196216" : { "1106" : { "One" : 7845, "count" : 22 }, "1509" : { "Two" : 1156, "count" : 26 } } } }
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su estructura de datos está bastante anidada, lo que hace que el código sea más difícil de leer. Pero esto navega la estructura genéricamente en el código mínimo que pude encontrar:

 var ref = firebase.database().ref("/42824688"); ref.child("UserData").once('value', gotUserData); function gotUserData(snapshot){ snapshot.forEach(userSnapshot => { var k = userSnapshot.key; var id = userSnapshot.val().AssignedID; var name = userSnapshot.val().Name; ref.child("teams").child(id).once("value", teamsSnapshot => { teamsSnapshot.forEach(teamSnapshot => { var teamKey = teamSnapshot.key; teamSnapshot.forEach(teamProp => { var prop = teamProp.key; var val = teamProp.val(); console.log(k+" "+name+" "+id+": "+teamKey+", "+prop+"="+val); }); }); }); }) }

Entonces, para cada usuario, esto carga los datos de los equipos para ese usuario y luego recorre la teamsSnapshot de equipos para obtener cada teamSnapshot de equipo y luego recorre eso para obtener cada propiedad de equipo.

Jsbin de trabajo: http://jsbin.com/noziri/edit?html,js,console

about 4 years ago · Santiago Trujillo Denunciar

0

asd@upp.com"
about 4 years ago · Yurany andrea Valderrama tavera Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda