個人を説明するプロファイルを作成しています。この説明には、彼らが働いている業界に関する情報が含まれています(つまり、「コンピューターと IT」)。したがって、関係は次のように定義されます。
"A Profile has an Industry, but an Industry does not belong to a Profile."
このMongoidドキュメントを調べて、次のようにモデルをセットアップしました。
class Profile
include Mongoid::Document
has_one :industry
end
class Industry
include Mongoid::Document
field :name, type: String, default: ''
end
belongs_to :profile
これで、通常はIndustryクラスにを追加することがわかりました。ただし、ドキュメントによると、外部キーは親 (プロファイル) ではなく子 (業界) に追加されます。
# The parent profile document.
{ "_id" : ObjectId("4d3ed089fb60ab534684b7e9") }
# The child industry document.
{
"_id" : ObjectId("4d3ed089fb60ab534684b7f1"),
"profile_id" : ObjectId("4d3ed089fb60ab534684b7e9")
}
業界をプロファイルにリンクさせたくないので、これは問題です。プロファイルを業界にリンクさせたいのです。どうすればこのように見えるようになりますか? :
# The parent profile document.
{ "_id" : ObjectId("4d3ed089fb60ab534684b7e9")
"industry_id" : ObjectId("4d3ed089fb60ab534684b7f1")
}
# The child industry document.
{
"_id" : ObjectId("4d3ed089fb60ab534684b7f1"),
}