如何计算(添加)Child

时间:2018-02-15 06:52:27

标签: javascript database firebase web-applications firebase-realtime-database

enter image description here

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

1 个答案:

答案 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 Functionincrement this counter