【问题标题】:how to get firebase database nested data access inside unique key如何在唯一键中获取firebase数据库嵌套数据访问
【发布时间】:2017-01-18 22:21:49
【问题描述】:

在firebase中我想访问如下编写的数据库。

<script>
function fnReadMails(){
  var user = firebase.auth().currentUser;
  var ref = firebase.database().ref('/posts/'+user.uid);
  ref.on("value", function(snapshot) {
    var vardata = (snapshot.val());
    console.log(vardata);
  });
}
</script>

问题是红色标记的字符串是随机生成的唯一推送键。每当我获得参考时,我都可以将 ref 提升到上一级,即 userid ,但我想访问我不知道的密钥中的数据,因为它将自动为下一篇文章生成。

如何访问 key 内的嵌套数据?

【问题讨论】:

  • @Dravidian javascript

标签: javascript arrays firebase firebase-realtime-database


【解决方案1】:

作为 Callam 答案的替代方案,您还可以继续使用 value 事件。但在这种情况下,您必须使用forEach() 遍历消息:

ref.on("value", function(snapshot) {
  snapshot.forEach(function(messageSnapshot) {
    console.log(messageSnapshot.val());
  }
});

这两种方法(使用value 与使用child_*)导致相同的网络流量。但是使用value 通常更容易上手,而使用child_ 事件可以更轻松地更新需要更新的特定 UI 元素。

【讨论】:

  • 感谢@Frank van Puffelen;它对我有用,但如何存储 nos 的价值。记录。
  • 是否已弃用 on 功能?它无法为我解析符号。
【解决方案2】:

您需要 child_added 事件类型,这将记录您的 ref 下每个孩子的快照。

ref.on("child_added", function(snapshot) {
    console.log(snapshot);
});

【讨论】:

    猜你喜欢
    • 2023-02-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 2020-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多