我们如何在从 javascript firebase 数据库读取数据时读取嵌套的多个引用?

How can we read multiple references nested while reading data from javascript firebase database?

提问人:Erdem SELVİ 提问时间:1/18/2023 最后编辑:Federico klez CullocaErdem SELVİ 更新时间:1/21/2023 访问量:32

问:

我们如何在从 javascript firebase 数据库读取数据时读取嵌套的多个引用?

var refEmanet = firebase.database().ref('emanet');
// Add ref of child if any
refEmanet.on('value', function(snapshot) {
    var icerik="" 
    var no=1;
    snapshot.forEach((child)=>{
        
        if(child.val().geriVermeTarihi!=0){
            dataArray[no]=child.val();
                  console.log(child.val().isbn);
        icerik+='<tr>';
            icerik+='<td>'+no+'</td>';
const dbRef2 = firebase.database().ref();
            dbRef2.child("kitaplar").child(child.val().kitapId).get().then((snapshot2) => {
                if (snapshot2.exists()) {
                    var no1=0;
                        if(snapshot2.key==child.val().kitapId){
                    console.log(snapshot2.val().kitapAdi);
                    icerik+='<td>'+snapshot2.val().kitapAdi+'</td>'; 
                    no1++;
                    }
                    
                    

                } else {
                    console.log("No data available");
                }
                }).catch((error) => {
                    console.error(error);
                });
           
            icerik+='<td>'+child.val().isbn+'</td>';

            const dbRef3 = firebase.database().ref();
            dbRef3.child("ogrenciler").child(child.val().ogrId).get().then((snapshot3) => {
                if (snapshot3.exists()) {
                    
                    console.log(snapshot3.val());
                    icerik+='<td>'+snapshot3.val().ad+' '+snapshot3.val().soyad+'</td>'; 
                    

                } else {
                    console.log("No data available");
                }
                }).catch((error) => {
                    console.error(error);
                });

//            icerik+='<td>'+child.val().ogrId+'</td>';
            icerik+='<td>'+child.val().emanetTarihi+'</td>';
            icerik+='</tr>';
            no++;  
        }


    });

   console.log(snapshot.val());
    $('#ex-table').append(icerik);


});

enter image description here

我们不能嵌套在firebase实时数据库中吗? 我无法解决这个问题。 正如您在表中看到的,数据不会到来。但我可以从日志中读取数据。我该如何解决这个问题?

JavaScript HTML Firebase 嵌套

评论

1赞 user16320675 1/18/2023
这个问题真的与“使用或理解 Java 语言本身”有关吗?javascriptisnotjava.com

答:

0赞 Erdem SELVİ 1/21/2023 #1

let myTable = document.getElementById('ex-table').getElementsByTagName('tbody')[0];

              let row = myTable.insertRow();
              let cell1=row.insertCell(0);
              let cell2=row.insertCell(1);
              let cell3=row.insertCell(2);
              let cell4=row.insertCell(3);
              let cell5=row.insertCell(4);
              let cell6=row.insertCell(5);
              let cell7=row.insertCell(6);
              let cell8=row.insertCell(7);
              let cell9=row.insertCell(8);
              cell1.innerHTML=no
              .
              .
              .

这就是我解决它的方式。