
class Advertiser include MongoID::document embeds_many :campaigns # how would I do this embeds_many :advertisements,:through => :campaignsendclass Campaign embedded_in :advertiser embeds_many :advertisementsendclass Advertisement embedded_in :campaign # or this? embedded_in :advertiser,:through => :campaignend
然后就能做到
Advertiser.first.advertisements
和
Advertisement.first.advertiser
Advertiser.campaigns.collect {|运动| campaign.advertisement}不是一个选项
如何,我将如何使用references_many / referenced_in执行这些 *** 作?
解决方法 简短的回答是,你做不到. MongoDB没有连接表的概念,也没有一般的连接. MongoID多对多“模拟”是通过在每一侧存储外键数组来完成的.回应评论:MongoDB是一个文档存储.因此,它适用于“文档”高度异构的情况.当您为广告商存储Campains和广告子树时,您必须以ruby代码收集广告商的广告.如果您的数据具有非常同质的形式,那么您可以考虑使用关系数据库.我们经常使用MysqL来关联对象,然后将MongoDB文档添加到对象中,以便它们可以扩展.
总结以上是内存溢出为你收集整理的ruby-on-rails – Mongoid embeds / has_many:通过等价物全部内容,希望文章能够帮你解决ruby-on-rails – Mongoid embeds / has_many:通过等价物所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)