2

我在firebase中为我的应用程序的每个用户存储一个score

user {
       name;
       score;
 }

我想显示一个排行榜,其中包含前 10 名用户的姓名和分数(并实时更新)。实现这一目标的最佳方法是什么?

4

1 回答 1

4

查看排行榜示例以了解执行此操作的方法:https ://www.firebase.com/tutorial/#example/leaderboard

基本原则是除了在用户对象中设置名称和分数之外,您还可以使用setWithPriority来为其设置优先级。在这种特殊情况下,优先级可以是用户的分数(如果是数字,它将自动为您排序)。然后,您可以使用.limit(10)查询来获取前 10 名用户的列表。

您还必须实现child_added,child_changedchild_removed事件来分别处理新用户进入前 10 名、某人改变位置和某人离开前 10 名列表的情况。

于 2013-10-09T17:17:05.610 回答