2017-12-24 11 views
0

제대로 콘솔의 출력을 보여줍니다이 코드를 실행하는 동안 </p> <p>

function saveDB() 
 
{ 
 
var assmtEid=7; 
 
var username="aashiquemd2212"; 
 
var myvar="14ca120"; 
 
    var ref2 = database.ref(username+'/course/'+myvar+'/ExerciseTable/'+assmtEid+'/'); 
 
    
 
    // var refe = database.ref(username+'/course/'+myvar+'/ExerciseTable'); 
 
    // refe.child(assmtEid).set({ 
 
    // Exid: assmtEid, 
 
    // Ename: displayname, 
 
    // Etotal: "20" 
 
    // }); 
 
    var tb=document.getElementsByClassName("tbody")[0]; 
 
    var len=tb.rows.length; 
 
    for(var l=0;l<len;l++) 
 
    { 
 
     var tno=l+1; 
 
     var tnam=tb.rows[l].childNodes[0].childNodes[0].value; 
 
     var tmark=tb.rows[l].childNodes[2].childNodes[0].value; 
 
     console.log("**"+tno+"**"+tnam+"**"+tmark+"**"); 
 
     // ref2.child(tno).set({ 
 
     // cid:tno, 
 
     // cname:tnam, 
 
     // ctotal:tmark 
 
     // });// criteria save 
 
     var kn=document.getElementById("dtable"+l+"").rows.length; 
 
      
 
     for(var lent=0;lent<kn;lent++) 
 
     { 
 
      var mtd1=lent+1; 
 
      var mtd2=document.getElementsByClassName("tide")[l].rows[lent].childNodes[0].childNodes[0].value; 
 
      var mtd3=document.getElementsByClassName("tide")[l].rows[lent].childNodes[1].childNodes[0].value; 
 
      console.log("--"+mtd1+"--"+mtd2+"--"+mtd3+"--"); 
 
      // ref2.child(tno+"/"+mtd1).set({ 
 
      // did:mtd1, 
 
      // dname:mtd2, 
 
      // dmark:mtd3 
 
      // });// descriptive save 
 

 
     } 
 
     console.log("#####################"); 
 
    } 
 

 

 
}
중포 기지 DB에 제대로 저장되지 않습니다. 그러나 주석 처리 된 행을 제거하고 코드를 실행하면 추가 노드가 삽입됩니다. 이 추가 노드를 추가하게하는 원인을 찾을 수 없습니다. 도와주세요. This shows properly on the console 그러나 주석 처리 된 행을 제거하고 실행하는 동안 추가 노드가있는 Firebase를 저장합니다 .Update 버튼은 saveDB 기능을 트리거합니다. After clicking the update button.

+0

yes 주석 처리를 해제하면 새로운 자식을 만들고'set() '안에 값을 설정합니다. –

+0

@PeterHaddad 예, 알고 있습니다. 그러나 2 개의 노드를 저장하는 대신 7 개의 노드를 저장합니다. 나는 그 이유를 묻는다. 그러나 콘솔에 제대로 표시됩니다. 하지만 파이어베이스에 잘못 저장됩니다. – Badhusha

답변

1

파이어베이스 리얼 타임 데이터베이스는 어레이를 기본적으로 지원하지 않으므로 정수 키를 사용하여 저장합니다. 나에게 이것은 여기에서 일어나는 일이다. 다른 키를 사용해 봅니다. k7 대신 정수를 사용하십시오.

+0

여기에 배열을 사용하지 않습니다. 코드 – Badhusha

+0

을 참조하십시오. 데이터를 저장하는 방법이 배열을 저장하는 방법이기 때문에 Firebase는 * 당신이 배열을 저장한다고 생각합니다. – marcorei