Javascript Firebase js库从非空数据库检索空数据
复制步骤: 将firebase db初始化为:Javascript Firebase js库从非空数据库检索空数据,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,复制步骤: 将firebase db初始化为: { "restaurants" : [ { "address" : "via Rettifilo, 34 Castelguidone CH Italy", "title" : "Dama & Dama" }, { "address" : "Corso Umberto I, 3 Castelguidone CH Italy", "title" : "Bar sabatino" } ] } 检查您的
{
"restaurants" : [ {
"address" : "via Rettifilo, 34 Castelguidone CH Italy",
"title" : "Dama & Dama"
}, {
"address" : "Corso Umberto I, 3 Castelguidone CH Italy",
"title" : "Bar sabatino"
} ]
}
检查您的读/写firebase任务规则是否正确
{
"rules": {
".read": true,
".write": true
}
}
执行以下js代码:
firebase.inizializeApp(yourJsonConfig)
\*code*\
firebase.database().ref().once('value').then(function(snapshot){
console.log(snapshot.val()); \\ this will print Array(0)
})
预期行为:控制台日志“{'restaurants'…..}”
实际行为:控制台日志“数组(0)”
,即没有数据
我使用firebase js库(版本4.13.1)。我哪里错了?您需要使用val()方法返回数据
firebase.database().ref().once('value').then(function(snapshot){
console.log(snapshot.val());
})
编辑:那么您的问题存在于另一段代码中,而您没有显示
检查此示例:
在控制台日志中:
并查看我的数据:
您需要为每个餐厅的家长提供唯一的钥匙。您可以在Firebase中使用“push”函数来实现此目的。传递给回调函数的
snapshot
参数是一个类型为的对象。您不应该假设DataSnapshot的JSON格式字符串只包含数据库中该位置的数据。从API文档中可以看到,DataSnapshot中有很多方法和功能
您要做的是调用该快照,以便从中提取JavaScript值。阅读API文档以进一步了解该对象可能包含的内容。尝试
console.log(snapshot.val())代码>。例如。我已经尝试过,但没有成功,这不会改变任何事情:(@SimoneMSR检查我的新编辑以获得您问题的完整示例。我明白您的观点(我已经更新了问题),但是val()方法返回[]