Javascript 如何在唯一密钥内获取firebase数据库嵌套数据访问
在firebase中,我希望访问以下编写的数据库Javascript 如何在唯一密钥内获取firebase数据库嵌套数据访问,javascript,arrays,firebase,firebase-realtime-database,Javascript,Arrays,Firebase,Firebase Realtime Database,在firebase中,我希望访问以下编写的数据库 函数fnReadMails(){ var user=firebase.auth().currentUser; var ref=firebase.database().ref('/posts/'+user.uid); 参考“值”,功能(快照){ var vardata=(snapshot.val()); console.log(vardata); }); } 问题是,红色标记的字符串是随机生成的唯一按键。每当我得到一个引用时,我都能够将引用提
函数fnReadMails(){
var user=firebase.auth().currentUser;
var ref=firebase.database().ref('/posts/'+user.uid);
参考“值”,功能(快照){
var vardata=(snapshot.val());
console.log(vardata);
});
}
问题是,红色标记的字符串是随机生成的唯一按键。每当我得到一个引用时,我都能够将引用提升到一个更高的级别,即userid
,但我想访问该密钥中的数据,我不知道,因为它将自动为下一篇文章生成
如何访问密钥内的嵌套数据?如果希望添加
子项
事件类型,这将记录ref下每个子项的快照
ref.on("child_added", function(snapshot) {
console.log(snapshot);
});
如果要添加
child\u
事件类型,这将记录ref下每个孩子的快照
ref.on("child_added", function(snapshot) {
console.log(snapshot);
});
除了Callam的答案,您还可以继续使用
值
事件。但是在这种情况下,您必须使用forEach()
循环消息:
这两种方法(使用
value
和使用child.*
)都会导致相同的网络流量。但是使用value
通常更容易入门,而使用child
事件则更容易更新需要更新的特定UI元素。作为Callam答案的替代方法,您也可以继续使用value
事件。但是在这种情况下,您必须使用forEach()
循环消息:
这两种方法(使用
value
和使用child.*
)都会导致相同的网络流量。但是使用值
通常更容易入门,而使用子事件则更容易更新需要更新的特定UI元素。@Dravidianjavascript@DravidianJavaScriptThank@Frank van Puffelen;它对我有用,但如何存储记录数的值。on函数是否已弃用?对我来说,它无法解析符号。谢谢@Frank van Puffelen;它对我有用,但如何存储记录数的值。on函数是否已弃用?它不能为我解决这个问题。
ref.on("value", function(snapshot) {
snapshot.forEach(function(messageSnapshot) {
console.log(messageSnapshot.val());
}
});