我在 Firebase 数据库中有一个包含用户评分列表的节点,我想从最高到最低对列表进行排序,并仅显示前 10 个评分:
我的排行榜节点:
leader_board
-$week_id
-$user_id: score
而我的java代码如下:
Query leader_board_query = leader_board_reference.child(week_id).orderByValue().limitToLast(10);
出于某种奇怪的原因,它总是从最低到最高排序。我试过使用 limitToFirst(10)
没有任何变化,请帮忙
最佳答案
orderByValue()
将始终按升序排序。
您可以使用 limitToLast()
仅获取已排序项目的最后一部分,然后您必须以编程方式还原项目。
示例数据集:
1, 3, 8, 9, 0, 5, 4, 7, 6, 2
orderByValue().limitToFirst(3)
应该返回 0, 1, 2
orderByValue().limitToLast(3)
应该返回 7, 8, 9
,然后你恢复数组得到 9, 8, 7
.
注意:这一切都未经测试,请报告结果;)
关于Android - Firebase 按值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39441689/