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はインデックスを自動構築しません-あなたは含まれているものを実行する必要があります:rake db:mongoid:create_indexes

于 2012-11-26T19:55:06.347 に答える