1

私は3つのモデルを持っています

class Org
  include Mongoid::Document
  field :name, type: String
  embeds_many :org_groups
end

class OrgGroup
  include Mongoid::Document
  field :name, type: String
  embedded_in :org
  has_and_belongs_to_many :humans
end

class Human
  include Mongoid::Document
  field :name, type: String
end

1 人の人間は複数の Org に所属できますが、1 つの OrgGroup にしか所属できません。

組織内の人間の一意性インデックスを設定する必要があります。

どうすればこれを行うことができますか?

4

2 に答える 2

0

mongodb で一意のインデックスが必要な場合は、次のようにすることができます。

class Person
  include Mongoid::Document
  field :first_name
  field :last_name

  index({ first_name: 1, last_name: 1 }, { unique: true })
end

ドキュメントは次のとおりです。

https://docs.mongodb.com/ecosystem/tutorial/mongoid-indexes/

これがお役に立てば幸いです。

于 2016-07-08T08:45:43.940 に答える