从嵌套的Firebase对象存储数据

时间:2018-10-07 10:07:52

标签: javascript firebase firebase-realtime-database

我正在使用一个出勤网络应用程序,该应用程序每月显示一次信息。 这是我的firebase数据库结构:Firebase Database Structure

要遍历数据,我使用以下方法:

for(i = 0; i<months.length;i++){

    console.log(months[i]);

    var datesRef = firebase.database().ref('students/' + currentStudentSap + '/attendance/' + currentSem + '/' + months[i]);
    datesRef.on('value',function(snapshot){

        var dates = snapshot.val();
        var date = Object.keys(dates);

        for(j=0;j<date.length;j++){

            console.log(date[j]);

            var lectureRef = firebase.database().ref('students/' + currentStudentSap + '/attendance/' + currentSem + '/' + months[i] + "/" + date[j]);
            lectureRef.on('value',function(snapshot){

                var lectures = snapshot.val();
                console.log(lectures, typeof(lectures));

            }); 
        }
    });
}

这是我在控制台上看到的: Console Data

我现在要做的是将这些统计信息保存在某种数据结构中,以便我可以使用它们来生成图形图表。 例如:“ COSTtheory”是一个主题,我想计算每个月进行的讲座总数和当前讲座总数,并以HTML显示按月统计(例如出席率)。

1 个答案:

答案 0 :(得分:0)

我不完全知道如何在Firebase中插入数据,但我不会像您一样遍历它。取而代之的是,我将增加每次插入数据时需要报告的月度总计,这样我就可以显示实时统计信息(实时数据库的用途)。我将使用具有云功能的Firebase数据库事务来实现此目的。事务确保数据一致性。