从最大到小的顺序从Firebase检索数据

时间:2017-10-12 19:03:44

标签: firebase

Firebase问题:我正在尝试从firebase数据库中按从大到小的顺序检索数据,然后在html中显示它。但是,我没有取得任何成功。我知道如何获取数据,但我无法从最大到最小的顺序得到它。这是可能的,还是我必须在数据回来时对数据进行排序?

这是我正在使用的代码。

``for(var x in allUsers){

                //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”开始。

1 个答案:

答案 0 :(得分:0)

您可以将得分字段复制为&#34; negative_score&#34;例如,在每次更新时将其乘以-1。这就像遮蔽了这个领域。有了Firebase实时数据库的限制,我们的思维方式就是在写入数据库时​​对所有内容进行非规范化处理,以便达到所需的目的。

这样您就可以按照自己的方式对其进行排序。