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

get user's rank by points and registration date in sails.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}"