gpt4 book ai didi

ruby-on-rails - 带有 "Foreign Key"的 Mongoid

转载 作者:可可西里 更新时间:2023-11-01 09:11:52 26 4
gpt4 key购买 nike

作为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

(意思是一个用户可以是很多礼物的作者,一个用户可以是很多礼物的接收者,但是一个礼物只能有一个作者和接收者)。

请帮忙!!!

最佳答案

如果 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'
end

关于ruby-on-rails - 带有 "Foreign Key"的 Mongoid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com