2014-12-31 160 views
1

如何在mongodb模型和活动记录模型之间创建像has_many,has_and_belongs_to_many,belongs_to这样的关联。我有一个类Item其使用mongoid和我有另一类ItemTypeActiveRecord在mongodb和活动记录之间创建关联

class Item 
    include Mongoid::Document 
    embeds_many :extra_fields, class_name: "ItemType" 
end 

class ItemType < ActiveRecord::Base 
    belongs_to :item 
end 

由于

+1

以下链接可能会帮助你 http://stackoverflow.com/questions/4883643/rails-3-polymorphic-association-between-one-mongomapper-model-and-one-many-activ –

回答

1

MongoDB中references_manyreferenced_in等于HAS_MANY和belongs_to的继承。另外还有一种方法可以在使用embeds_manyembedded_in的mongoDB中实现has_many和belongs_to关系。

如果你想单独取孩子的记录,那么你应该去references_manyreferenced_in。如果孩子总是和父母一起来,那么你应该去embeds_manyembedded_in

embeds_manyembedded_in子巢的情况下,在蒙戈对象和在references_manyreferenced_in情况下母体有向子和父的不同蒙戈对象参照键。