ruby-on-rails-3 – 具有Mongoid Embedded和Standalone的Rails模
发布时间:2020-12-17 03:03:01 所属栏目:百科 来源:网络整理
导读:我如何创建一个Mongoid模型,该模型能够保存在自己的集合中,并嵌入到另一个文档中? 解决方法 简短的回答:你做不到. 当您在两个Mongoid文档之间使用嵌入式关系时,这是因为您不希望子模型位于其自己的集合中.它的字面意思是嵌入式文档:嵌入在其父级中. 我不
我如何创建一个Mongoid模型,该模型能够保存在自己的集合中,并嵌入到另一个文档中?
解决方法
简短的回答:你做不到.
当您在两个Mongoid文档之间使用嵌入式关系时,这是因为您不希望子模型位于其自己的集合中.它的字面意思是嵌入式文档:嵌入在其父级中. 我不确定你是不是Mongoid的新手,所以你真正想要的是一个被引用的关系,它的行为更像传统的RDBMS关系,其中子文档存储对父文档ID的引用. Mongoid文档的开头是here. 鉴于这些嵌入式模型,在两者之间切换非常容易: class Person include Mongoid::Document field :name embeds_many :phone_numbers end class PhoneNumber include Mongoid::Document field :area_code field :number embedded_in :person end 您只需更改embeds_many和embedded_in,即可: class Person include Mongoid::Document field :name has_many :phone_numbers end class PhoneNumber include Mongoid::Document field :area_code field :number belongs_to :person end 它会起作用.现在,您可以使用以下语句直接查询电话号码:PhoneNumber.where(:area_code =>“212”). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |