ユーザーのデータを集めています。これは、ユーザーの電子メール、ユーザーのパスワード(ハッシュ)、および文字列の配列で構成されるかなり基本的なものになります。
{
email: '[email protected]',
password: 'password hash',
arr: []
}
同じemail
を使用して2つの挿入ができないことを確認します。 mongoDBの_id
はデフォルトで一意であり、パフォーマンスを向上させるために特別なデータ構造を使用していることを読みました。
email
が一意であることをどのように確認できますか。また、可能であれば、_id
フィールドによって提供されるパフォーマンス上の利点を活用できますか?
編集:null
のemail
値がないこと、およびemail
フィールドを含まないドキュメントがないことも確認します。
これは、メールフィールドに一意のインデックスを作成することで実行できます。
http://docs.mongodb.org/manual/tutorial/create-a-unique-index/
スコット
nique キーワードを使用するか、単に_id値を電子メールにします。
db.collection.createIndex( { email: 1 }, { unique: true } )
Mongodb ensureIndex
が 非推奨 になりました。代わりにcreateIndex
を使用してください。
db.collection.createIndex( { email: 1 }, { unique: true } )