dis*_*dng 4 ruby-on-rails mongodb mongoid
作为mongodb的资深人士,我创建了以下结构:
User: {
name: str,
email: ...
}
Gift: {
# author and receiver refer to User objects obviously
author: object_id(...),
receiver: object_id(...),
name: str
...
}
Run Code Online (Sandbox Code Playgroud)
我想在mongoid中正确映射这个:
class User
include Mongoid::Document
has_many :gifts
end
class Gift
include Mongoid::Document
belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)
但是,映射不正确.g = Gift.first; g.author未定义.我该如何进行参考?
从技术上讲,它是:
User <--- 1: N via author---> Gift <--- N:1 via receiver---> User
Run Code Online (Sandbox Code Playgroud)
(意思是用户可以是许多礼物的作者,并且用户可以是许多礼物的接收者,但是礼物可以只有1个作者和接收者).
Plz帮忙!!!
如果Gift看起来像这样,你可能会对Rails有更好的运气:
Gift: {
# author and receiver refer to User objects obviously
author_id: object_id(...),
receiver_id: object_id(...),
name: str
...
}
Run Code Online (Sandbox Code Playgroud)
然后,添加一个:foreign_key礼物:
class Gift
include Mongoid::Document
belongs_to :user, :foreign_key => 'author_id'
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3717 次 |
| 最近记录: |