从生成的推送密钥中获取价值

Get value from push key generated

我想从对应于其推送键的数据库中获取相应登录用户的点数,我尝试了很多方法,但我无法实现,这是我的代码

const autoid=firebase.database().ref("user").push().key;
firebase.database().ref("/").child(autoid).set({
    email :email,
    password : password, 
    points :"500", 
    Id:autoid 
})

下面是我的 firebase 实时数据库图片:

以下代码在实时数据库中为每个注册用户插入不同密钥的电子邮件、密码、积分和 ID,我想在用户登录时显示他的电子邮件和积分?我尝试了不同的方法,但还是没有成功?

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");    
})

我也试过上面的代码来获取 uid 作为父文件,而不是获取随机推送 id,但是我没有这样做,我不知道错误在哪里,我的数据库使用的规则是:-

{
  "rules":{
    ".read": true, 
    ".write":true
  } 
} 

我需要更改规则吗?

写入节点中当前登录用户的数据,您需要:

const uid = firebase.auth().currentUser.uid;
firebase.database().ref("users").child(uid).set({
  email: email,
  password : password, 
  points: "500"
});

随后要读取 当前登录用户的数据,您需要:

const uid = firebase.auth().currentUser.uid;
firebase.database().ref("users").child(uid).once("value").then((snapshot) => {
  console.log(snapshot.val());
});