基本上我将用户名作为用户数据的密钥。现在我尝试将用户名与存储在会话存储中的当前用户名进行匹配,并读取该用户名的用户数据。
这是我的.js代码
var database = firebase.database();
var currentusername = sessionStorage.getItem("username");
var userref = database.ref("users");
userref.orderByChild("username").equalTo(currentusername).once("value").then(function(snapshot) {
console.log(snapshot.val());
});
Firebase数据结构
APPNAME
当我尝试运行上面的代码时,我将snapshot.val()视为null,尽管存在具有匹配用户名密钥的记录。
答案 0 :(得分:4)
var userref = database.ref("users/"+currentusername);
userref.once("value").then(function(snapshot)
这很有效!!!
答案 1 :(得分:2)
这应该有效
var currentusername;
try {
currentusername = sessionStorage.getItem("username");
}
catch(error) {
console.log("shucks " + error);
}
if(currentusername){
firebase.database().ref("users").child(currentusername).once('value').then(function(snap) {
if(snap.val()){
console.log(snap.val().firstname);
}
}, function(error) {
// The Promise was rejected.
console.log('Error: ',error);
});
}