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

429
Views
¿Cómo vinculo a cada usuario a sus datos en Firebase?

Planeo crear un árbol principal llamado usuarios que incluirá el nombre de diferentes usuarios como nombre de usuario. Entonces, de cada nombre de usuario se incluirán sus datos, por ejemplo, Nombre completo, Dirección, Número de teléfono.

Quiero saber cómo obtener los datos de cada usuario cuando inician sesión en su perfil.

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

En primer lugar, le sugiero que dedique un tiempo a familiarizarse con Firebase leyendo la Guía de Firebase ( Enlace a la antigua Guía de Firebase ). Todo lo que necesita saber para responder a su propia pregunta está disponible allí. Pero para simplificar pondré un ejemplo aquí:

Comencemos con la seguridad, estas son las reglas básicas de Firebase que necesita para este ejemplo: (fuente: Comprensión de la seguridad ) (fuente anterior: Comprensión de la seguridad )

 { "rules": { "users": { "$user_id": { ".write": "$user_id === auth.uid" } } } }

Omitiré la creación del usuario real y el inicio de sesión y me centraré en la pregunta sobre el almacenamiento y la recuperación de datos del usuario.

Almacenamiento de datos: (fuente: autenticación de Firebase ) (fuente anterior: autenticación de usuario )

 // Get a reference to the database service var database = firebase.database(); // save the user's profile into Firebase so we can list users, // use them in Security and Firebase Rules, and show profiles function writeUserData(userId, name, email, imageUrl) { firebase.database().ref('users/' + userId).set({ username: name, email: email //some more user data }); }

Los datos resultantes de Firebase se verán así:

 { "users": { "simplelogin:213": { "username": "password", "email": "bobtony" }, "twitter:123": { "username": "twitter", "email": "Andrew Lee" }, "facebook:456": { "username": "facebook", "email": "James Tamplin" } } }

Y por último, pero no menos importante, la recuperación de los datos, esto se puede hacer de varias maneras, pero para este ejemplo voy a usar un ejemplo simple de la guía de firebase: (fuente: Leer y escribir datos ) (fuente anterior: Recuperación de datos )

 //Get the current userID var userId = firebase.auth().currentUser.uid; //Get the user data return firebase.database().ref('/users/' + userId).once('value').then(function(snapshot) { //Do something with your user data located in snapshot });

EDITAR: ejemplo agregado de datos de retorno

Entonces, cuando inicie sesión como usuario twitter: 123, obtendrá una referencia a la ubicación basada en su identificación de usuario y obtendrá estos datos:

 "twitter:123": { "username": "twitter", "email": "Andrew Lee" }
over 4 years ago · Santiago Trujillo Report

0

Aunque estoy de acuerdo con Andre acerca de establecer las reglas para una buena seguridad, manejaría los datos de manera un poco diferente. En lugar de generar la cadena, uso el método child() . Es una cuestión de preferencia personal.

Obtenga el UID y defina un objeto de datos:

 let user = firebase.auth().currentUser let uid = user.uid let yourdata = { foo: 'something', bar: 'other'}

Guardar los datos:

 firebase.database().ref('users').child(uid).set(yourdata) .then((data) => { console.log('Saved Data', data) }) .catch((error) => { console.log('Storing Error', error) })

Obtener los datos:

 firebase.database().ref('users').child(uid).once('value') .then((data) => { let fetchedData = data.val() console.log('Fetched Data', fetchedData) }) .catch((error) => { console.log('Fetching Error', error) })

Tenga en cuenta que set() anulará sus datos, por lo que es posible que desee utilizar push() más adelante.

over 4 years ago · Santiago Trujillo 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!