我是firebase的新手,所以我对firebase方法知之甚少,但我想对每个孩子的“总数”求和,并将它们存储在一个变量中。
这是我尝试过的:
var rootRef = firebase.database().ref();
var rootreq = rootRef.child("Requests");
rootreq.on('value',getReq);
function getReq(snap){
snap.forEach(keyReq => {
var total = keyReq.val().total;
var t = parseInt(total);
var t1 = t + total;
$("#tr_count").valueOf(t1);
});
}
答案 0 :(得分:0)
你快到了。您只需要声明包含forEach
循环之外的总计的变量:
var rootRef = firebase.database().ref();
var rootreq = rootRef.child("Requests");
rootreq.on('value',getReq);
function getReq(snap){
var t1 = 0;
snap.forEach(keyReq => {
var total = keyReq.val().total;
var t = parseInt(total);
t1 += t;
});
$("#tr_count").valueOf(t1);
}
我还要指出,这会将整个“请求”节点下载到用户设备,这对应用程序性能不利。我建议创建一个包含所有请求的外部节点,并使用Cloud Function到increment this counter。