跳到主要内容
CNode

在开发排行榜功能,怎么得出自己排在第几名呢,排行榜实时变化的。 用的数据库是mongodb

问答
Wwhw1988发布于 10 年前最后回复 10 年前
1065700

在开发排行榜功能,怎么得出自己排在第几名呢,排行榜实时变化的。 用的数据库是mongodb,How to calculate row number in MongoDB for sorted query?

查看回复

回复 (10)

H
hunnble#910 年前

数据库每次变动的时候获取排名就可以了吧。。。可以在数据库里加一个计数器来记排名

W
whw1988#710 年前
引用 HelloKevinTian按排序规则取出排名数组,然后取自己的index index+1就是自己名次。

@HelloKevinTian 没有实时的纪录当前用户的排名呢,是根据用户的资金排行的呢,资金一直在变化呢。 然后你现在只知道 当前用户的资金是多少 比如100元,怎么知道他的资金排在第几名呢。

W
whw1988#610 年前
引用 NextZeus用数据库去做排行榜吗 ? 我有用redis 去实现过排行榜。 redis 中有个适合排序的结构 zset,建议还是用redis去做。 这是我写的pvp ranking包 redis sorte...

@NextZeus 没有实时的纪录当前用户的排名呢,是根据用户的资金排行的呢,资金一直在变化呢。 然后你现在只知道 当前用户的资金是多少 比如100元,怎么知道他的资金排在第几名呢。

N
NextZeus#310 年前

用数据库去做排行榜吗 ? 我有用redis 去实现过排行榜。 redis 中有个适合排序的结构 zset,建议还是用redis去做。 这是我写的pvp ranking包

redis sorted

W
weierbufan#210 年前

获取自己的只需要在数据库中根据userid之类的字段查找自己的排名信息就好了啊,如果是取前几只需在Mongodb中把排名这个字段加索引应该就行了。。不知道是不是你要的。

H
HelloKevinTian#110 年前

按排序规则取出排名数组,然后取自己的index index+1就是自己名次。

参与回复

登录后即可参与回复。登录