用于检索数据的Firebase用户ID变量

时间:2017-01-06 16:05:50

标签: javascript firebase

使用Firebase,我尝试根据用户ID显示用户的个人资料信息。我目前可以在用户ID下将数据保存到数据库。

enter image description here

我能够显示爱好的一般信息,但是当改变变量以显示用户的数据时,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);

我非常感谢任何帮助或建议!

1 个答案:

答案 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);
});