我有一个关于 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/