【发布时间】:2017-05-29 03:16:21
【问题描述】:
我有一个关于 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 运行良好。仅列出今天的行。
但是...现在我需要按point 排序。
我该怎么做?
有什么想法可以在客户端更改数据库或排序我的列表吗?
非常感谢!
【问题讨论】:
-
Firebsae 数据库查询可以按/过滤一个属性进行排序。见stackoverflow.com/questions/26700924/…
-
是的,但是,如果您需要使用过滤器,那么首先您需要对其进行排序。所以:
orderByChild("timestamp").endAt(exampletimestamp).orderByChild("point")不好,因为在一个查询中定义了 2 个 orderBy。
标签: java android sorting firebase firebase-realtime-database