首页 > 解决方案 > 使用 javascript 从 Firebase 数据库中的特定节点检索数据

问题描述

火力基地片段

大家好。我正在创建一个从我创建的 firebase 实时数据库中提取的 Web 应用程序。使用 javascript 我想从特定节点(即“8”)中提取数据。

然后,我将在 Web 应用程序中使用节点中的键和值。

我需要什么 js/firebase 代码从任何特定节点提取数据?

下面是我们尝试过的代码。长期目标是从随机节点中提取数据,但现在我只是想了解如何从特定节点中提取数据。由于节点始终是 0-49 之间的数字,因此在随机化时我不需要使用“数组长度”函数。我将使用“Math.floor(Math.random() * 49”给我一个随机数,当我弄清楚如何具体访问一个时,我可以将它传递给节点的索引值。

ref = firebase.database().ref('articles/');

function setupObservers() {
  ref.on('value',function(snapshot){
    console.log(snapshot.val())
    let articleArray = []
    for(key in snapshot.val()) {
      let articleKeys = snapshot.val()[key]
      articleArray.push(articleKeys)
    }
    randomArticle(articleArray)

  })
}


function randomArticle(articleArray) {
  let random = articleArray[Math.floor(Math.random() * articleArray.length)]
  console.log(random)
}

setupObservers()

提前致谢!!

标签: javascriptfirebasefirebase-realtime-database

解决方案


要从您知道其键的特定子节点读取值,您只需执行以下操作:

ref = firebase.database().ref('articles');
ref.child("8").on('value',function(snapshot){
    console.log(snapshot.val())
});

推荐阅读