Mongoid 中两个模型之间的关系是否明确需要外键?例如。
class User
include Mongoid::Document
has_many :posts
end
class Post
include Mongoid::Document
belongs_to :user
# Is this necessary below?
field :user_id, type: Integer
end
Mongoid 网站上的文档在讨论关系时没有说明任何字段声明,这就是我问的原因。
最佳答案
不,通常不需要单独的外键字段声明。 Mongoid 将在任何需要它的文档上隐式创建 user_id
字段。它遵循与 ActiveRecord 相同的外键命名约定。
如果这些约定不适合您的模型(例如,如果您有两个关联到同一类),那么您可以覆盖外键名称。例如
belongs_to :user, foreign_key: :friend_id
同样,这与 ActiveRecord 几乎相同(当然没有迁移)。
关于ruby-on-rails - 外键和 Mongoid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475913/