我在实时数据库中获得了该项目,其中电子邮件子项等于localStorage中的电子邮件,并且可以正常工作。
但是,当我尝试登录用户名时,它返回的是undefined而不是实际的用户名
let useremail = localStorage.getItem("useremail")
firebase.database().ref("/users").orderByChild('email').equalTo(useremail).on("value", function(snap){
let data = snap.val();
console.log(data.username)
})
有人知道如何解决此问题吗?
数据库看起来像这样
并且如果我登录useremail,则会显示正确的字符串
答案 0 :(得分:3)
尝试一下:
let useremail = localStorage.getItem("useremail")
firebase.database().ref("/users").orderByChild('email').equalTo(useremail).on("value", function(snap){
snap.forEach(function(childSnapshot)){
let data = childSnapshot.val();
console.log(data.username)
});
});
由于引用位于节点users
上,因此您需要循环才能访问属性。