Mongoid查询!限制和订单的组合

Lam*_*amp 4 mongodb mongoid

在我的rails应用程序中,我想要获取具有唯一值的10个最后记录.

我试过了:

@users = User.all(:limit => 10, :sort => [:created_at, :desc]).map{|t| t.first_name}.uniq
Run Code Online (Sandbox Code Playgroud)

但,

限制不能像我期望的那样工作..

我希望'limit'能够最后影响查询.

有任何想法吗?

Kyl*_*yle 11

@users = User.desc(:created_at).limit(10).map(&:first_name).uniq
Run Code Online (Sandbox Code Playgroud)

你应该用distinct.这可能uniq会导致您获得少于10条记录.

@users = User.limit(10).distinct(:first_name).desc(:created_at).map(&:first_name)
Run Code Online (Sandbox Code Playgroud)