我在firebase中为我的应用程序的每个用户存储一个score
。
user {
name;
score;
}
我想显示一个排行榜,其中包含前 10 名用户的姓名和分数(并实时更新)。实现这一目标的最佳方法是什么?
查看排行榜示例以了解执行此操作的方法:https ://www.firebase.com/tutorial/#example/leaderboard
基本原则是除了在用户对象中设置名称和分数之外,您还可以使用setWithPriority
来为其设置优先级。在这种特殊情况下,优先级可以是用户的分数(如果是数字,它将自动为您排序)。然后,您可以使用.limit(10)
查询来获取前 10 名用户的列表。
您还必须实现child_added
,child_changed
和child_removed
事件来分别处理新用户进入前 10 名、某人改变位置和某人离开前 10 名列表的情况。