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

180
Vistas
Obtener valor clave dado otro valor clave en FireBase

Estoy tratando de encontrar una manera de encontrar el valor de la id dado el email .

Por ejemplo, si tuviera email2@gmail.com , me daría el ID 108454568498950432898 .

Todos los correos electrónicos son únicos y no habrá repetición de correos electrónicos.

Este es mi árbol de usuarios:

ingrese la descripción de la imagen aquí

Nota: En la imagen dice email2 en lugar de email2@gmail.com . Ignora esto

Aquí está mi código hasta ahora: (Obviamente, el código no se ejecutará, pero es más fácil ingresar el código usando la inserción)

 var users; var givenEmail = "email2@gmail.com"; var neededID; var dataRef = firebase.database().ref('users'); dataRef.on('value', (snapshot) => { const data = snapshot.val(); users = data; }); var usersArray = Object.keys(users); for(i = 0; i < usersArray.length; i++) { if(users[i].email == givenEmail) { neededID = i; break; } }

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Bueno, creo que ya casi estás allí.

 users[i].email

puede recuperar el correo electrónico utilizando este método y, de manera similar, también puede hacerlo con la identificación

 users[i].id

Tenga en cuenta que quería encontrar email2@gmail.com pero su base de fuego solo tiene email2

Tal vez quieras cambiar eso

about 4 years ago · Juan Pablo Isaza Denunciar

0

Recomiendo usar una consulta para realizar el filtrado en el servidor, en lugar de descargar el nodo de users completo y filtrar en el código de su aplicación como lo hace ahora.

 var givenEmail = "email2@gmail.com"; var dataRef = firebase.database().ref('users'); var query = dataRef.orderByChild('email').equalTo(givenEmail); dataRef.once('value', (snapshot) => { snapshot.forEach((userSnapshot) => { console.log(userSnapshot.val().id); }); });
about 4 years ago · Juan Pablo Isaza 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