我为我的应用程序的每个用户在firebase中存储了一个score
。firebase中的数据排序
user {
name;
score;
}
我想显示排行榜的前10名用户的名称和分数(并保持实时更新)。 达成此目的的最佳方法是什么?
我为我的应用程序的每个用户在firebase中存储了一个score
。firebase中的数据排序
user {
name;
score;
}
我想显示排行榜的前10名用户的名称和分数(并保持实时更新)。 达成此目的的最佳方法是什么?
退房排行榜的例子一种方式来做到这一点:https://www.firebase.com/tutorial/#example/leaderboard
的基本原则是,除了设置名称和用户对象的分数,你可以使用setWithPriority
还设置优先级为它。在这种特殊情况下的优先级可以是用户的分数(如果它的数字,它会自动为你排序)。然后,您可以使用.limit(10)
查询来获得前10名用户的列表。
您还可以实现child_added
,child_changed
和child_removed
事件处理进入前10名的新用户,有人改变位置,有人分别在离开前10名的情况。
如果您有不使用setWithPriority插入的现有记录,您将如何a)改造它们,或者b)在未设置的情况下对它们进行排序? – KevDog
您是否考虑过使用优先级以某种方式对分数进行编码? https://www.firebase.com/docs/ordered-data.html –
请参阅此链接:[firebase.com/docs/ordered-data.html](http://firebase.com/docs/ordered-data。 html) – Eddev