我的Firebase数据库存在问题。我有以下结构:
{
"adminroles":{
"admin1": "some_uuid"
}
}
在我的file.js中,我使用以下代码:
return firebase.database()
.ref('adminrole/')
.once('value')
.then(function(snapshot) {
var adminuser = snapshot.child('admin1').val();
});
但是,快照未定义。
有人可以帮帮我吗?我的数据库结构有问题吗?
答案 0 :(得分:0)
我通过将错误回调传递给promise的Then()来找到问题。事实上,问题出在我的数据库规则中。
我有:
"adminrole":{
"admin1":{
".read": "auth != null && auth.uid == 'some_uid'",
".write": "auth != null && auth.uid == 'some_uid'"
}
}
所以once()返回了一个错误,因为我没有对#34; adminrole"的读取权限。我按如下方式更改规则,现在可以正常工作。
"adminrole":{
".read": "auth != null",
".write": "auth != null && auth.uid == 'some_uid'"
}
功能如下:
return firebase.database()
.ref('adminrole')
.once('value')
.then(function(snapshot) {
var adminuser = snapshot.child('admin1').val();
}, function(error) {
var errorMessage = error.message;
alert(errorMessage);
console.log(error);
});