使用Firebase,我尝试根据用户ID显示用户的个人资料信息。我目前可以在用户ID下将数据保存到数据库。
我能够显示爱好的一般信息,但是当改变变量以显示用户的数据时,id就是null或uid未定义,我无法弄清楚为什么?用户已登录,可以使用其ID上传数据。
//Display Profile Information
(function(){
var user = firebase.auth().currentUser;
var uid;
if (user != null) {
uid = user.uid;
}
const preObject = document.getElementById('object');
const list = document.getElementById('list');
//Displays Hobbies correctly, When changing 'object' & 'hobbies'
//to 'Users' & uid nothing is shown.
const dbRefObject = firebase.database().ref().child('object');
const dbRefList = dbRefObject.child('hobbies');
dbRefObject.on('value', snap=> {
preObject.innerText = JSON.stringify(snap.val(), null, 3);
});
dbRefList.on('child_added', snap => console.log(snap.val()));
};
的改变:
const dbRefObject = firebase.database().ref().child('Users');
const dbRefList = dbRefObject.child(uid);
我非常感谢任何帮助或建议!
答案 0 :(得分:1)
您的value
似乎是dbRefObject
,它指向整个Users
对象,而不是特定用户的UID。
尝试更改此内容:
dbRefObject.on('value', snap=> {
preObject.innerText = JSON.stringify(snap.val(), null, 3);
});
到此(dbRefObject更改为dbRefList):
dbRefList.on('value', snap=> {
preObject.innerText = JSON.stringify(snap.val(), null, 3);
});