【问题标题】:data sorting in firebaseFirebase中的数据排序
【发布时间】:2016-02-13 07:14:43
【问题描述】:

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

user {
       name;
       score;
 }

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

【问题讨论】:

标签: database firebase


【解决方案1】:

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

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

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

【讨论】:

  • 如果您有没有使用 setWithPriority 插入的现有记录,您将如何 a) 改进它们,或 b) 在不设置的情况下对它们进行排序?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-13
  • 2018-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
相关资源
最近更新 更多