1

我有三个模型

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

一个人可以在多个 Org 中,但只能在一个 OrgGroup 中。

我需要为组织中的人类设置唯一性索引。

我怎么能做到这一点?

4

2 回答 2

1

您可以创建一个将由回调调用的方法。
请参阅回调文档

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

询问您是否需要样品。

于 2015-02-19T17:49:26.883 回答
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 回答