如何使用Firebase读取,更改和替换数据?

时间:2017-11-27 21:32:12

标签: database firebase firebase-realtime-database writing

我试图制作一个赌博网站模拟,我需要一个存储用户余额的变量。这会在他们下注时改变。

该变量被称为" userbalance"它在Firebase上设置为500。用户的赌注成功存储在firebase上。因此,我需要再次处理此下注值,并将其从" userbalance"中取出,从而更新其余额。

function storewager(){
var coinref = firebase.database().ref();
var coinwager = document.getElementById("coininput").value;
var userbalance = 
coinref.child("coinbet").set(coinwager);
changeuserbal();
}

function changeuserbal(coinwager, userbalance){
    var balref = firebase.database().ref().child('userbalance');
    var coinwager = document.getElementById("coininput").value;
    var userbalchg = balref - coinwager;
    window.alert(balref);
    balref.child("userbalance").set(userbalchg);
}

我无法理解为什么它在storewager中正常工作,而不是在changeuserbal中。

这是firebase数据库布局:

gambling-website-simulationaddclose
     coinbet: "66" <--- this is the user bet, which is changed by storewager()
 userbalance: 500 <--- I'm trying to take coinbet away from this

非常感谢你的帮助,因为当我能做到这一点时,我应该能够取得更多进展。

修改

我现在设法发送变量值,而不是名称To&#34; userbalance&#34;。但是,计算并不正确。我认为问题在于&#34; userbalance&#34;没有正确引用。

因此,&#34; userbalance&#34;只是赌注但是减去。

bal - coinwager = userbalchg ---&gt;这被上传到&#34; userbalance&#34;

0 - coinwager = userbalchg ---&gt;这就是我认为正在发生的事情

这是我的代码的更新部分:

function changeuserbal(coinwager){
    var balref = firebase.database().ref().child("userbalance");
    balref.once("value")
    .then(function(snapshot){
    var bal = snapshot.child("userbalance").val();
    var coinwager = document.getElementById("coininput").value;
    var userbalchg = bal - coinwager;
    balref.set(userbalchg);
});
}

0 个答案:

没有答案