【问题标题】:how to read a single firebase database value at a specific time如何在特定时间读取单个 Firebase 数据库值
【发布时间】:2016-09-01 09:25:12
【问题描述】:

我需要在某个时间读取 firebase 数据库中的值。此外,即使数据库 voteValue 稍后发生变化,我也不希望更新读取值。虽然如果它更容易,我想我会选择它。

我的 firebase 数据库中有许多时间段 - 它们恰好是以秒为单位的时间。我已经调用了这些 timeSlots,并且我在每个 timeSlots 上都有一个投票值。

所以在下面的例子中,时间是@11 秒。我想读到那个 timeSlot 的投票值为 8

目前我有:

var ref = new Firebase ('https://aB8ppi-f0h02.firebaseio.com/web/data');
function myFunction (x) {
  ct = player.getCurrentTime()
  timeSlot = Math.round(ct)    
  var voteData = ref.child("vid1");
  voteData.orderByValue().equalTo(timeSlot).on("value", function(dataSnapshot) {
    var Yval =  dataSnapshot.vote + x;
  };

//然后将dBase更新为新值

voteData.child("slot" + timeSlot).set({
    slot: timeSlot,
    vote: Yval
});

};

Firebase 似乎很好地设置了 onChange 事件等,但我在这里不需要。注意:我不希望客户端必须登录/验证。

您能否建议我如何检索、更改和设置 Firebase 数据库的新值?非常感谢。

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    好吧,解决了。我发现我需要清理对 dBase 的写入和读取。我希望有一天这对其他人有所帮助:)

    现在是书写功能

    ref.child("vid1/slot"+timeSlot+"/vote").on("value",function(snapshot){
        slotVal = (snapshot.val());
    }, function (errorObject) {
        console.log("the read failed: " + errorObject.code);
    });
    ref.child("vid1/slot"+timeSlot).set({
        vote: slotVal + x
    });  
    

    以及阅读功能:

    ref.child("vid1/slot"+timeSlot+"/vote").on("value",function(snapshot){
        //console.log(snapshot.val());
        slotVal = (snapshot.val());
    }, function (errorObject) {
        console.log("the read failed: " + errorObject.code); 
        slotVal = 0; // better than returning null, eh?
    });
    return (slotVal);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-17
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多