首页 > 解决方案 > Firebase - 通过分数确定特定用户的排名

问题描述

为了给你一些上下文,首先看看我在firebase中的数据库结构:

user-list {
    user {
        name: "xy",
        score: "xy"
    }
    mooare users...
}

现在,目前,我的数据库处于 Firestore Beta 中,但我不在乎是否必须迁移回实时数据库才能完成这项工作,因为这两种模型都适用于我的应用程序。

问题

如果用户玩过游戏(这可能经常发生),他的排名将显示给他。我目前的方法是根据他的分数以某种方式查询/分配用户排名。为此,我只是订购了整个数据库(1M+ 记录)aaaa,这就是我不知道的地方。

问题是,我到底要怎么做呢?我已经阅读了无数的 stackoverflow 帖子并搜索了无数的网站,但还没有“解决方案”帮助我。问题是,我有以下要求要满足:做一个查询......

  1. 具有成本效益,也不会强迫我在余生中住在桥下
  2. 在客户端相当快
  3. 是实时的

此外,我的分数是可变的。意思是,它的范围可以从 1 到无穷大,这也不能真正消除复杂性。

最有希望的方法是我在无望的寻找答案的过程中发现的这篇文章。艰难,它只是模糊地描述,所以这并没有真正的帮助。

我知道要问的问题很多,要求也很多,但是有人能帮我解决这个问题吗?

标签: firebasenosqlgoogle-cloud-firestore

解决方案


推荐阅读