从生成的按键中获取值

问题描述 投票:0回答:2

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

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

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

Realtime database

以下代码在实时数据库中插入电子邮件、密码、积分和 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
  } 
} 

我需要更改规则吗?

javascript firebase firebase-realtime-database
2个回答
0
投票

写入当前登录用户的节点中的数据,您需要执行以下操作:

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

0
投票

你知道如何在Python中做到这一点吗?

© www.soinside.com 2019 - 2024. All rights reserved.