java - Android Firebase 多重排序

标签 java android sorting firebase firebase-realtime-database

我有一个关于 Firebase 排序的问题。

我有下一个数据库:

{
    "-Ka8xxTgyFB8yYKH50j_addclose" : {
        "number" : 0,
        "point" : 949739,
        "timestamp" : 14824078463440,
        "username" : "Test 16062"
    },
    "-Ka8xzKecpbPr46Kx9gl" : {
        "number" : 0,
        "point" : 1480851,
        "timestamp" : 14842078463441,
        "username" : "Test 13599"
    }
}

我想显示按点排序的数据。 但我只需要今天创建的行。

如果我过滤行的时间戳:

return databaseReference
                .child("list")
                .orderByChild("timestamp")
                .endAt(end.getTime());

endAt 工作得很好。仅列出今天的行。 但是...现在我需要按排序。

我该怎么做?

有什么想法可以更改数据库或在客户端对我的列表进行排序吗?

非常感谢!

最佳答案

您需要对客户端的所有数据进行排序,因为每个查询只能有一个 orderBy 列。

如果您需要对服务器端进行双重排序,则必须更新数据库以拥有同时保存时间戳和点的组合键。

关于java - Android Firebase 多重排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41639877/

相关文章:

java - 如何使用 Java 从 MS ACCESS 数据库检索列描述

java - 如何在我的 android Activity 中的类中使用抽象方法?

android - 在 Android 中以编程方式创建 ImageView

android - 通过android api或内核在陀螺仪上自定义灵敏度设置?

java - 扫描仪 nextLine 被跳过

java - 如何使用复选框获取所有选定的列表项

java - 在 JApplet/Swing 中使用图形和小部件绘图?

python - 如何对条目中包含多个数据的列表进行排序?

sorting - 如何执行排序+索引同时删除重复项?

javascript - 如何在angular js中使用嵌套对象将ng-repeat中的数据排序为JSON数据