5

我有一个以用户名作为字段的集合。模型将此字段定义为唯一的。但是我能够在数据库中插入一个重复的值。

class Profile
  include Mongoid::Document
  include Mongoid::Paperclip

  field :username
  index({ username: 1 } , { unique: true })
end

然而,该集合有 2 个相同的用户名

{ "_id" : ObjectId( "50b3b323421aa95da6000004" ),
  "username" : "marceloreuse" }

{ "_id" : ObjectId( "50b3b567421aa93d84000002" ),
  "username" : "marceloreuse" }

这里出了什么问题?

4

1 回答 1

11

我会仔细检查您的索引 - 从控制台尝试db.collection.getIndexes()并确保您的索引存在。

如果您错过了它,Mongoid 不会自动构建索引,因为您指定了它 - 您需要运行 include: rake db:mongoid:create_indexes

于 2012-11-26T19:55:06.347 回答