Предположим, у меня есть документ grandparent
со многими parents
, и у каждого parent
есть много children
.Mongoid - Get Children of Children
Каков наилучший способ, в Rails с Mongoid, получить все children
для определенного grandparent
без зацикливания?
Например, если бы я использовать циклы, это будет выглядеть примерно так (грубый код):
def children
children = []
parents.each do |p|
p.children.each do |c|
children << c
end
end
children.uniq
end
class Grandparent
include Mongoid::Document
has_many :parents
end
class Parent
include Mongoid::Document
belongs_to :grandparent
has_many :children
end
class Child
include Mongoid::Document
belongs_to :parent
end
'Best' должна быть определена с точки зрения вашей цели. Вы оптимизируете производительность, читаемость, модульность или что конкретно? – Mustafa
@Mustafa производительности. – Baub