我有以下数据模型。其中一个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
问题是计算项目中Statistic对象总数的最佳方法是什么。
我能想到的一种方法是循环遍历每个ComponentDescriptor并计算Statistics对象的数量,然后对它们求和。但我认为这不是有效的方法。
提前感谢。
答案 0 :(得分:0)
如果您可以在项目级别存储计数字段,这将是您获得它的最佳和最快的方式。