MongoId结合唯一性指数

时间:2015-02-12 16:16:07

标签: ruby-on-rails mongoid validates-uniqueness-of

我有三个模特

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

One Human可以在许多Org中,但只能在一个OrgGroup中。

我需要在Org中设置Human的唯一性指数。

我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以创建一个将通过回调调用的方法 有关回调,请参阅documentation

如果你的条件不受尊重,你可以简单地从这个方法中提出一些东西。

询问您是否需要样品。

答案 1 :(得分: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/

希望这对你有所帮助。