3

在以下示例中:

class Band
  include Mongoid::Document
  has_and_belongs_to_many :tags
end

class Tag
  include Mongoid::Document
  field :name, type: String
  has_and_belongs_to_many :bands
end

对象存储如下:

# The band document.
{
  "_id" : ObjectId("4d3ed089fb60ab534684b7e9"),
  "tag_ids" : [ ObjectId("4d3ed089fb60ab534684b7f2") ]
}

# The tag document.
{
  "_id" : ObjectId("4d3ed089fb60ab534684b7f2"),
  "band_ids" : [ ObjectId("4d3ed089fb60ab534684b7e9") ]
}

是否可以将字段重命名tag_idstags和?谢谢band_idsbands

4

1 回答 1

0

您可以使用以下语法来使用特定的外键名称:

class Band
  include Mongoid::Document
  has_and_belongs_to_many :tags, foreign_key: "bands"
end

class Tag
  include Mongoid::Document
  field :name, type: String
  has_and_belongs_to_many :bands, foreign_key: "tags"
end

但避免使用可能与您的可用关系冲突的外键名称。

于 2015-05-09T21:19:54.170 回答