Firebase retrieve highest 100 score
Solution 1:
Firebase queries are always in ascending order. So you'll need to get the last 100, instead of the first 100.
Query queryRef = myRef.orderByChild("score").limitToLast(100);
Then client-side you'll need to reverse the items.
Alternatively you can add a inverted property to your items invertedScore: -99
. If you do that, you can order by that inverted score and won't have to reverse the array.
This scenario has been covered frequently before. I highly recommend you study some of these:
- data sorting in firebase
- Firebase Leaderboard, best Implmentation. SQL Joins and orderby (as recently as yesterday)
- Display posts in descending posted order
- Firebase Data Desc Sorting in Android
- Swift - How to create Sort query as Descending on Firebase?