У меня есть следующие модели данных. В котором Project встраивает много ComponentDescriptor, а ComponentDescriptor встраивает много Statistic.
class Project
include Mongoid::Document
embeds_many :component_descriptors
field :status, :type => Integer
backgrounded :publish
end
class ComponentDescriptor
include Mongoid::Document
include Mongoid::Acts::Tree
embeds_many :statistics
embedded_in :project, :inverse_of => :component_descriptors
end
class Statistic
include Mongoid::Document
field :statistics_type, :type => String
field :data, :type => String
field :playhead_time, :type => String
field :remote_ip, :type => String
field :user_agent, :type => String
embedded_in :component_descriptor, :inverse_of => :statistics
end
Вопрос в том, как лучше всего подсчитать общее количество объектов статистики в проекте.
Один из способов, который я могу придумать, - это циклически проходить по каждому ComponentDescriptor, подсчитывать количество объектов Statistics и затем суммировать их. Но я думаю, что это не эффективный способ.
Спасибо заранее.