recuperar realtime query from datos datasnapshot data consultas firebase data-retrieval

realtime - query firebase android



¿Cómo relaciono a cada usuario con sus datos en Firebase? (1)

En primer lugar, le sugiero que pase un tiempo familiarizándose con Firebase leyendo la Guía de Firebase ( Enlace a la antigua Guía de Firebase ). Todo lo que necesita saber para responder su propia pregunta está disponible allí. Pero por simplicidad 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 e inicio de sesión real del usuario 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 de la base de fuego resultante 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: datos de lectura y escritura ) (fuente antigua: datos de recuperación )

//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 haya iniciado sesión como usuario twitter: 123, obtendrá una referencia a la ubicación en función de su ID de usuario y obtendrá estos datos:

"twitter:123": { "username": "twitter", "email": "Andrew Lee" }

Planeo crear un árbol principal llamado usuarios que incluirá el nombre que los diferentes usuarios usaron como nombre de usuario. Por lo tanto, 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.