【问题标题】:How to get a child key value in Firebase Realtime Database [closed]如何在 Firebase 实时数据库中获取子键值 [关闭]
【发布时间】:2019-04-15 20:27:48
【问题描述】:

我是 Firebase 的新手,目前正在使用 JavaScript SDK 将我的网络应用程序与 Firebase 集成。

我的问题是:如何在我画在图像上的红框内获得价值?

我正在使用

snapshot.key

访问密钥值,但它会将生成的密钥(蓝色框)返回给我,这不是我想要的。

【问题讨论】:

  • 先给我们看一些代码:)
  • var dbRecording = firebase.database().ref("recordings/"); dbRecording.once("value", function(snapshot2) { if (snapshot2.exists()) { snapshot2.forEach(function(value) { var childKey = value.key; console.log(childKey); }); } } );
  • 这是我的代码
  • @Renaud Tarnec,我已经尝试过您提供的链接中的代码,但它仍然显示生成的密钥

标签: javascript firebase firebase-realtime-database


【解决方案1】:

根据您的 cmets,并不是 100% 清楚您在寻找什么。如果您知道您在recording 父节点下有一个带有关键字speechtext 的子节点,带有关键字LRC2o....,您不需要查询获取该子节点的关键字(因为您知道它) .

另一方面,如果您想迭代 recording 节点的子节点的所有键,请执行以下操作(根据您的代码):

var dbRecording = firebase.database().ref("recordings/"); 
dbRecording.once("value", function(snapshot2) { 
  if (snapshot2.exists()) { 
    snapshot2.forEach(function(value) { 
      var childObject = value.val(); 

      Object.keys(childObject).forEach(e => console.log(`key = ${e}`));

    }); 
  } 
});

如果您想要键和值,请执行以下操作:

var dbRecording = firebase.database().ref("recordings/"); 
dbRecording.once("value", function(snapshot2) { 
  if (snapshot2.exists()) { 
    snapshot2.forEach(function(value) { 
      var childObject = value.val(); 

      Object.keys(childObject).forEach(e => console.log(`key = ${e}  value = ${childObject[e]}`));

    }); 
  } 
}); 

【讨论】:

  • 感谢您的帮助,这正是我想要的。谢谢你。 :)
猜你喜欢
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
  • 2023-02-02
  • 2021-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多