Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!