javascript - 如何迭代 firebase 对象子级

标签 javascript firebase post firebase-realtime-database

我是 firebase 和 javascript 的新手,但我正在尝试迭代我的 firebase 数据库,该数据库实际上只有 1 个对象和其下的一些子对象。我遵循了一些教程,但感觉现在就像在兔子洞里一样。我只取回顶层,而不取回子级

enter image description here

这是我尝试过的:

var ref = database.ref('Exercise');
ref.on('value', gotData, errData);

function writeData(){
    firebase.database().ref("Exercise").set({
        nameExercise: exerciseName.value,
        setAm: setAmount,
//        setAm: {
  //          HoeveelheidArr,
    //        Gewicht,
        //}
        repetitie: Gewicht,
        hoeveelheidKilogram:Gewicht,

    });
}


var ref = database.ref('Exercise');
ref.on('value', gotData, errData);

function gotData(data){
    //console.log(data.val());
    var exercise = data.val();
    var keys = Object.keys(exercise);
    console.log(keys);
    for( var i = 0; i < keys.length; i++){
        var k = keys[i];
        var exerciseID = scores[k].nameExercise.value;
        var sets = scores [k].setAm.value;
        var reps = scores[k].repetitie.value;
        var kg = scores [k].hoeveelheidKilogram.value;
        console.log(exerciseID, sets,reps,kg);
    }
}

function errData(err){
    console.log('Error!');
    console.log(err);
}

write 函数运行良好,但 getData 运行良好,我试图在控制台中显示对象的每个值:

enter image description here

但我返回的只是 writeData 函数中的变量名称。你看到我做错了什么了吗?

最佳答案

据我所知,您在/Exercise下只有一个练习。 ,这意味着 for( var i = 0; i < keys.length; i++){不需要循环。

如何访问/记录 JSON 各个部分的示例:

function gotData(data){
    var exercise = data.val();
    console.log(exercise);
    console.log(exercise.hoeveelheidKilogram);
    exercise.hoeveelheidKilogram.forEach(function(value) {
        console.log(value);
    });
}

关于javascript - 如何迭代 firebase 对象子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60951640/

相关文章:

python - 从 Python 脚本使用 POST 发送文件

php - 通知: Undefined index: name

javascript - 如何从对象数组中的对象数组中搜索值?

javascript - GreaseMonkey + Ajax + 还记得页面吗?

java - 将数据写入 Firebase、Android

Android 8 或更高版本的应用程序在使用 Firebase Performance SDK 的 Android Oreo 上崩溃

http - 在真实设备上调用 api 时,Ionic 4 Http 失败响应(未知 url): 0 Unknown Error.

javascript - 如何像使用 PHP 一样在 HTML 页面中运行 Node.js 脚本?

javascript - Node.js 和 Actionscript (as3crypto) 之间的 AES 损坏

java - 你应该在 addOnCompleteListener 里面写什么?