在帆中按积分和注册日期获取用户的排名.js



如何使用它的积分和注册时间来获得用户排名?我试着用同样的标准来获取用户,它运行得很好。

await User.find({
sort: {
rewardPoints: 0,
createdAt: 1
}   
}).limit(limit);

现在我只想得到我的排名,但它并没有通过这个代码给我正确的结果

await User.count({ 
createdAt: { "<" : user.createdAt },
rewardPoints: { ">=": user.rewardPoints },
});

我最终使用了一个sql查询:

SELECT id
, firstName
, rank
FROM ( 
SELECT 
*
, (@rank := @rank + 1) AS rank
FROM 
user
CROSS JOIN( 
SELECT
@rank := 0
)  
AS 
init_var_var
ORDER BY
user.rewardPoints DESC,
user.createdAt ASC    
)
AS logins_ordered_ranked
WHERE
id = "${user.id}"

最新更新