我需要在特定时间读取firebase数据库中的值。此外,即使dataBases voteValue稍后更改,我也不希望更新读取值。虽然如果它更容易,我想我会选择它。
我的firebase数据库中有很多时间段 - 它们恰好是几秒钟的时间。我已经调用了这些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数据库设置新值?非常感谢。
答案 0 :(得分:0)
好吧就把它搞定了。我发现我需要清理写入dBase的文字以及它的读数。我希望有一天能帮助别人:)
现在写作功能
render: function(){
var PHOTODATA = this.state.PHOTODATA
var uniqueCategories = PHOTODATA.map(function (photo) {
return photo.tag; // tag is a list of tags...
}).reduce(function (uniqueList, someTags) {
return uniqueList.concat(
someTags.filter(function (thisTag) {
return !uniqueList.some(function(uniqueTag) {
return uniqueTag.id === thisTag.id && uniqueTag.taglevel === thisTag.taglevel
});
})
);
},
[]
);
和阅读功能:
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
});