Android - Firebase按值排序

spo*_*oss 3 android firebase firebase-realtime-database

我有一个节点,其中包含Firebase数据库中的用户分数列表,我想从最高到最低排序列表,只显示前10个分数:

我的排行榜节点:

leader_board
 -$week_id
   -$user_id: score
Run Code Online (Sandbox Code Playgroud)

我的java代码如下:

Query leader_board_query = leader_board_reference.child(week_id).orderByValue().limitToLast(10);
Run Code Online (Sandbox Code Playgroud)

由于一些奇怪的原因,它始终从最低到最高.我尝试过使用limitToFirst(10)并没有任何变化,请帮忙

Ant*_*lvy 5

orderByValue() 将始终按升序排序.

您可以使用limitToLast()仅获取已排序项目的最后一部分,然后您必须以编程方式还原项目.

示例数据集:

1, 3, 8, 9, 0, 5, 4, 7, 6, 2
Run Code Online (Sandbox Code Playgroud)

orderByValue().limitToFirst(3) 应该回来 0, 1, 2

orderByValue().limitToLast(3)应该返回7, 8, 9,然后你还原数组得到9, 8, 7.

注意:这都是未经测试的,请报告结果;)