根据关联字段对集合进行排序

时间:2012-02-21 14:30:09

标签: ruby-on-rails mongodb mongoid

我在查找如何使用MongoDB / Mongoid进行查询时遇到了麻烦。所以我有一个模型Userhas_many :scoresScore是另一个具有codevalue的模型。 codeuser的范围内是唯一的。对于给定的代码,我想获取用户,按value的{​​{1}}排序。

基本上,我想要做的是:score,除非它不能这样做。我尝试了几件事,我认为答案与User.where('scores.code' => code).order_by('scores.value')有关,但这并没有给我任何回报,所以我必须在这里遗漏一些东西..

感谢您的时间,希望我足够清楚!

1 个答案:

答案 0 :(得分:1)

我认为这可能是你想要的:

scores = Score.where('code' => code).order_by('value')

如果您想获得用户(假设Score类有belongs_to :user),那么您可以这样做:

users_that_matches_code = scores.map { |s| s.user }