【问题标题】:Retrieving data from Firebase in greatest to smallest order [duplicate]以从大到小的顺序从 Firebase 检索数据 [重复]
【发布时间】:2017-10-12 19:03:44
【问题描述】:

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) 获取'score'键 3) 从分数为“10000”的地方开始。

【问题讨论】:

    标签: firebase


    【解决方案1】:

    例如,您可以将 score 字段复制为“negative_score”,在每次更新时将其乘以 -1。这就像遮蔽了球场。由于 Firebase 实时数据库的限制,当您写入数据库时​​,您的思维方式就是对所有内容进行非规范化处理,以便您实现所需。

    这样你可以按照你想要的方式对其进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-28
      • 2013-12-17
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多