Quiero obtener los puntos de los respectivos usuarios registrados para que se muestren desde la base de datos correspondiente a su tecla de pulsación. Lo intenté de muchas maneras, pero simplemente no pude hacerlo posible. Aquí está mi código.
const autoid=firebase.database().ref("user").push().key; firebase.database().ref("/").child(autoid).set({ email :email, password : password, points :"500", Id:autoid })Y a continuación está la imagen de mi base de datos en tiempo real de firebase:

El siguiente código inserta el correo electrónico, la contraseña, los puntos y la identificación en la base de datos en tiempo real con una clave diferente para cada usuario que se registra y quiero mostrarle al usuario cuándo inicia sesión para ver su correo electrónico y sus puntos. Intenté probar diferentes métodos, pero de todos modos no tuve éxito en hacerlo.
firebase.auth().createUserWithEmailAndPassword(email, password) .then((credential) => { firebase.database().ref("/users/" + credential.user.uid).set({ email: credential.user.email, uid: credential.user.uid }); alert("signed in"); })También probé este código anterior para obtener uid como un archivo principal en lugar de obtener una identificación de inserción aleatoria, pero no pude hacerlo y no sé dónde está el error. Las reglas utilizadas para mi base de datos son: -
{ "rules":{ ".read": true, ".write":true } }¿Necesito cambiar la regla?
Para escribir los datos en un nodo para el usuario actualmente conectado, haría lo siguiente:
const uid = firebase.auth().currentUser.uid; firebase.database().ref("users").child(uid).set({ email: email, password : password, points: "500" });Para leer posteriormente los datos del usuario actualmente conectado, haría lo siguiente:
const uid = firebase.auth().currentUser.uid; firebase.database().ref("users").child(uid).once("value").then((snapshot) => { console.log(snapshot.val()); });