2016-08-29 4 views
0

特定の時刻にfirebaseデータベースの値を読み取る必要があります。また、私は後でしばらくの間、dataBasesのvoteValueが変更されても、読み取り値を更新しない方がよいでしょう。それが簡単ならば、私はそれと一緒に行くだろうと思う。特定の時刻に単一のfirebaseデータベース値を読み取る方法

私はfirebaseデータベースにいくつものタイムスロットを持っています - 時間は数秒で起こります。私はこれらのtimeSlotsを呼び出しており、これらのtimeSlotsのそれぞれで投票値を持っています。

したがって、以下の例では、時間は@ 11秒です。

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; 
    }; 

//新しい値

voteData.child("slot" + timeSlot).set({ 
    slot: timeSlot, 
    vote: Yval 
}); 
へのdBaseを更新:私は現在、私が持っているそのタイムスロットのための投票は

enter image description here

の価値を持っていることを読みたいです

};

firebaseはonChangeイベントなどの設定がうまくいくようですが、ここでその必要はありません。注:私はクライアントがログイン/認証する必要はありません。

firebaseデータベースに新しい値を取得、変更、設定する方法を提案できますか?どうもありがとう。

答えて

0

申し訳ありません。私が見つけたのは、私もdBaseへの書き込みとその読み込みの両方をクリーンアップする必要があったということでした。

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); 
:私は、これは他の誰か一日:)

書き込み機能は、現在

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 
}); 

と読み取り機能である役に立てば幸い

関連する問題