如何从Firebase数据库获取一次数据库信息

时间:2017-08-08 22:28:31

标签: javascript firebase firebase-realtime-database

我到处寻找,没有地方给我一个满意的答案;如何在需要时简单地从Firebase数据库中检索数据?我不想同步数据,我只想在我打电话时获取数据。使用once()的各种尝试都完全失败了,没有让我接近。它甚至可能还是Firebase不是为我想要做的而设计的?

编辑:我想做的最小例子:

let ref = firebase.database().ref("location1");
let intendedValue = "Data not Gathered";
ref.once("value").then( function(snapshot) {
  intendedValue = snapshot.val();
});
console.log(intendedValue);

我的firebase数据库具有以下结构:

projectFolder:
    location1:
        datapoint1: "dataValue1";

所以你认为这会记录" dataValue1",而是记录" Data not Gathered"好像ref.once()从未跑过。

2 个答案:

答案 0 :(得分:0)

自调用

以来

ref.once("value").then( function(snapshot) { intendedValue = snapshot.val(); });

基本上是一个回调,所以当您记录输出时,行intendedValue = snapshot.val();甚至还没有运行。

你可以试试这个

 ref.once("value").then( function(snapshot) {
  intendedValue = snapshot.val();
  console.log(intendedValue);
});

答案 1 :(得分:0)

function fire_base_db(){ 

           var ref = firebase.database().ref();
       ref.on("value", function(snapshot) {
console.log(snapshot.val());

}, function (error) {
console.log("Error: " + error.code);
     });}

snapshot.val()包含数据库的值 您可以将snapshot.val()的值存储在变量中,并将其发送到另一个函数