0

虽然 Firebase 确实允许设置数据优先级,但我似乎无法找到任何方法来获取我的数据在有序列表中的位置。

例如,我有一个排行榜,其中用户的得分(以及优先级)为 400。

如何找到该用户在排行榜中的位置。例如,我如何知道他在位置 5000 或 5,而无需在每个子添加/删除/移动事件上遍历整个用户列表?

4

1 回答 1

1

不幸的是,在 Firebase 中没有有效的方法来做到这一点。

但是,有一些解决方法,您可以通过执行以下操作之一来实现这一点:

  1. 确保没有两个项目具有相同的优先级,或者 -
  2. 加载整个列表以查找目标项在客户端上的位置,或者 -
  3. 使用 Firebase Node.js 客户端运行服务器进程来监视列表并使用列表中的项目位置更新每个项目,这样您的客户端就不必这样做了。
于 2013-11-14T01:52:04.733 回答