我在泵和零件之间有多对多的关系。我将零件 ID 存储在 Pump 文档中。我还想存储在特定泵中使用了多少个零件。
简而言之,这就是我所拥有的
class Pump
include MongoMapper::Document
key :number, String
key :desc, String
key :part_ids, Array
many :parts, :in => :part_ids
end
class Part
include MongoMapper::Document
attr_accessor :pump_ids
key :qty, Integer
key :number, String
key :desc, String
def pumps
Pump.all(:part_ids => self.id)
end
end
在我意识到每个泵使用的零件数量不同之前,它工作得很好,所以现在我需要存储每个关系的数量,也许还有一些其他关系特定的信息,比如注释。
我想要这样的东西,而不是仅仅存储和 id 数组。
[{:pump_id => "12hj3hjkbrw", :qty = 4},
{:pump_id => "ggtyh5ehjrw", :qty = 10, :notes => "when using this part with this Pump please note this"}]
我不知道如何使这项工作。