在 JavaScript 中从 Firebase 数据库中检索数据
Retrieve data from Firebase database in JavaScript
我是 Firebase 的新手,我正在尝试弄清楚如何从我的 Firebase 数据库中检索数据。我能够根据用户的唯一 ID (uid
) 成功添加到它,但现在从中获取数据似乎非常困难。我想从当前用户那里获取名字(以下代码中的 'user'),但是这个 JavaScript 似乎不起作用:
var uid = user.uid
firebase.database().ref('users/' + uid).on('value', function(snapshot) {
this.first_name = snapshot.val().first_name;
});
当我调用 this.first_name
时,出现以下错误:
FIREBASE WARNING: Exception was thrown by user callback. TypeError: Cannot set property 'first_name' of null.
如果有帮助,我的数据库结构如下:
{
users: {
"uid1": {
first_name: "John"
},
"uid2": {
first_name: "Sue"
}
}
}
使用 var first_name
而不是 this.first_name
。它应该有效。
var uid = user.uid
firebase.database().ref('users/' + uid).on('value', function(snapshot) {
var first_name = snapshot.val().first_name;
});
以上回答正确。但是,我想如果您在查询中使用 child
会更具可读性。两者都应该有效。
firebase.database().ref('users').child(uid).on('value', function(snapshot) {
var first_name = snapshot.val().first_name;
});
我是 Firebase 的新手,我正在尝试弄清楚如何从我的 Firebase 数据库中检索数据。我能够根据用户的唯一 ID (uid
) 成功添加到它,但现在从中获取数据似乎非常困难。我想从当前用户那里获取名字(以下代码中的 'user'),但是这个 JavaScript 似乎不起作用:
var uid = user.uid
firebase.database().ref('users/' + uid).on('value', function(snapshot) {
this.first_name = snapshot.val().first_name;
});
当我调用 this.first_name
时,出现以下错误:
FIREBASE WARNING: Exception was thrown by user callback. TypeError: Cannot set property 'first_name' of null.
如果有帮助,我的数据库结构如下:
{
users: {
"uid1": {
first_name: "John"
},
"uid2": {
first_name: "Sue"
}
}
}
使用 var first_name
而不是 this.first_name
。它应该有效。
var uid = user.uid
firebase.database().ref('users/' + uid).on('value', function(snapshot) {
var first_name = snapshot.val().first_name;
});
以上回答正确。但是,我想如果您在查询中使用 child
会更具可读性。两者都应该有效。
firebase.database().ref('users').child(uid).on('value', function(snapshot) {
var first_name = snapshot.val().first_name;
});