加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 带有“外键”的Mongoid

发布时间:2020-12-17 03:00:34 所属栏目:百科 来源:网络整理
导读:作为 mongodb的资深人士,我创建了以下结构: User: { name: str,email: ... }Gift: { # author and receiver refer to User objects obviously author: object_id(...),receiver: object_id(...),name: str ... } 我想在mongoid中正确映射这个: class User
作为 mongodb的资深人士,我创建了以下结构:

User: { 
  name: str,email: ... 
}

Gift: { 
  # author and receiver refer to User objects obviously
  author: object_id(...),receiver: object_id(...),name: str 
  ... 
}

我想在mongoid中正确映射这个:

class User 
  include Mongoid::Document

  has_many :gifts
end

class Gift 
  include Mongoid::Document

  belongs_to :user
end

但是,映射不正确. g = Gift.first; g.author未定义.我该如何进行参考?

从技术上讲,它是:

User <--- 1: N via author---> Gift <--- N:1 via receiver---> User

(意思是用户可以是许多礼物的作者,并且用户可以是许多礼物的接收者,但是礼物可以只有1个作者和接收者).

Plz帮忙!!!

解决方法

如果Gift看起来像这样,你可能会对Rails有更好的运气:

Gift: { 
  # author and receiver refer to User objects obviously
  author_id: object_id(...),receiver_id: object_id(...),name: str 
  ... 
}

然后,将:foreign_key添加到Gift:

class Gift 
  include Mongoid::Document

  belongs_to :user,:foreign_key => 'author_id'
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读