作为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(这意味着一个用户可以是许多礼物的作者,一个用户可以是许多礼物的接收者,但一个礼物只能有一个作者和接收者)。
请帮帮我!
发布于 2011-06-13 13:56:26
如果Gift看起来像这样,你可能会更幸运地使用Rails:
Gift: {
# author and receiver refer to User objects obviously
author_id: object_id(...),
receiver_id: object_id(...),
name: str
...
}然后,向Gift添加一个:foreign_key:
class Gift
include Mongoid::Document
belongs_to :user, :foreign_key => 'author_id'
endhttps://stackoverflow.com/questions/6327000
复制相似问题