通过firebase节点进行flutter循环,该节点由单节点和带子节点的节点组成

时间:2018-05-02 16:51:31

标签: json firebase dart flutter

我有这段代码:

  routineExersiceIDsetter() async{
    String routineId;
     final response = await reference.child(_userId).once();
     response.value.forEach((k,v){
       if(v["name"] == "First Routine"){
         currentRoutineId = k;
         routineId = k;
       }
     });
     final response2 = await reference.child(_userId).child(currentRoutineId).once();
     response2.value.forEach((k, v){
         if(v["name"] == "Day 1"){
           currentSchemeId = k;
       }

     });
  }

和这个firebase数据库

{
  "-LBNflaqFEb4DtZiYxnh" : {
    "-LBWa99g4yCstUBkDGa7" : {
      "name" : "Day 1"
    },
    "name" : "First Routine"
  }
}

第一个forEach行有效,但第二个没有。有没有办法使这项工作或我需要更改我的firebase架构?

1 个答案:

答案 0 :(得分:0)

我意识到应该将第二个if语句包含在另一个if语句中:

if(k!="name"){
   if(v["name"] == "Day 1"){
     currentSchemeId =k;
   }
}