带有“外键”的Mongoid

问题描述

| 作为mongodb的资深人士,我创建了以下结构:
User: { 
  name: str,email: ... 
}

Gift: { 
  # author and receiver refer to User objects obviously
  author: object_id(...),receiver: object_id(...),name: str 
  ... 
}
我想用蒙古语正确地映射它:
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个作者和接收者)。 请帮助!!!     

解决方法

        如果Gift看起来像这样,您可能会更好地使用Rails:
Gift: { 
  # author and receiver refer to User objects obviously
  author_id: object_id(...),receiver_id: object_id(...),name: str 
  ... 
}
然后,在礼物中添加
:foreign_key
class Gift 
  include Mongoid::Document

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...