2017-10-12 108 views
0

Firebase問題:我試圖從Firebase數據庫中按照從最大到最小的順序檢索數據,然後將其顯示在html中。但是,我沒有取得任何成功。我知道如何獲取數據,但我無法從最大到最小的順序獲取數據。這是可能的還是我必須對數據進行排序?從Firebase以最大到最小的順序檢索數據

這是我正在使用的代碼。

``用於(在AllUsers的變種X){

   //db.ref('users/' + x).orderByChild('score').startAt(10000).on('value', snapshot => { 
       db.ref('users/' + x).orderByChild('score').endAt(9999).on('value', snapshot => { 
       //db.ref('users/' + x).on('value', snapshot => { 
        console.log(snapshot.val()); 

        const newUserRow = $("<tr>"); 
        const userName = $("<th> scope ='row'> ").html(snapshot.val().firstName); 
        const userLevel = $("<td>").html(snapshot.val().level); 
        const userPoints = $("<td>").html(snapshot.val().score); 

        newUserRow.append(userName) 
          .append(userLevel) 
          .append(userPoints); 
         $("#LeaderboardInformation").append(newUserRow); 
       });`` 

我的思維過程對於這一行的代碼是: 1)從數據庫檢索 '用戶' 2)得到 '得分' 鍵 3)開始比分是'10000'的地方。

回答

0

例如,您可以將得分字段複製爲「negative_score」,並在每次更新時將其乘以-1。這就像遮蔽了田野。藉助Firebase實時數據庫的侷限性,您的想法就是在您寫入數據庫時​​將所有可以規範化的內容去規範化,以便實現您的需求。

這樣你就可以按你想要的方式對它進行排序。