Скажем, у меня есть User
с полем name
и который has_many teams
, и Team
что BELONGS_TO в user
и belongs_to в sport
. A Sport
имеет поле name
и has_many teams
.Как сортировать по вложенному значению поля с помощью Mongoid?
Я хочу, чтобы пройти через sports
, делать некоторые вещи, и собрать массив из teams
отсортированных по name
в user
.
result = []
Sport.asc(:name).each do |spt|
# some other stuff not relevant to this question but that
# justifies my looping through each sport.
spt.teams.asc(:'user.name').each { |t| result << t }
end
Это работает, но и сортировка sports
будет, как ожидается, но порядок команд в result
не сортируется, как я ожидал.
Каков правильный способ, используя Mongoid
для сортировки коллекции по значению отношения?