在开发排行榜功能,怎么得出自己排在第几名呢,排行榜实时变化的。 用的数据库是mongodb,How to calculate row number in MongoDB for sorted query?
按排序规则取出排名数组,然后取自己的index index+1就是自己名次。
获取自己的只需要在数据库中根据userid之类的字段查找自己的排名信息就好了啊,如果是取前几只需在Mongodb中把排名这个字段加索引应该就行了。。不知道是不是你要的。
用数据库去做排行榜吗 ? 我有用redis 去实现过排行榜。 redis 中有个适合排序的结构 zset,建议还是用redis去做。 这是我写的pvp ranking包
@weierbufan 没有实时的纪录当前用户的排名呢,是根据用户的资金排行的呢,资金一直在变化呢
@weierbufan 然后你现在只知道 当前用户的资金是多少 比如100元,怎么知道他的资金排在第几名呢
@NextZeus 没有实时的纪录当前用户的排名呢,是根据用户的资金排行的呢,资金一直在变化呢。 然后你现在只知道 当前用户的资金是多少 比如100元,怎么知道他的资金排在第几名呢。
@HelloKevinTian 没有实时的纪录当前用户的排名呢,是根据用户的资金排行的呢,资金一直在变化呢。 然后你现在只知道 当前用户的资金是多少 比如100元,怎么知道他的资金排在第几名呢。
数据库每次变动的时候获取排名就可以了吧。。。可以在数据库里加一个计数器来记排名
@hunnble 何必要再费周折 搞个计数器呢