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

427
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 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