ご挨拶、
Salat と Casbah を使用して でユーザー コレクションを作成してMongodbいます。メール フィールドに一意のインデックスを追加するまで、すべてがうまく機能します。現在、私の挿入は、既存の電子メール アドレスの DB に実際のレコードが追加されていない一意の ID を返します。私はscalaとCasbah/Salatを初めて使用するので、明らかな質問をしていたら申し訳ありません。
ここに私のコレクションのインデックスがあります
db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "study_test.users"
},
{
"v" : 1,
"unique" : true,
"key" : {
"email" : 1
},
"name" : "users_email",
"ns" : "study_test.users"
}
]
これが私のdaoオブジェクトです
object UserDao extends SalatDAO[UserModel, ObjectId](collection = MongoUtil.getCollection("study", "users")) {
val logger = LoggerFactory.getLogger(UserDao.getClass)
val dao = this
UserDao.collection.ensureIndex(DBObject("email" -> 1), "users_email", true)
RegisterJodaTimeConversionHelpers()
def create(userContract: UserContract): Option[ObjectId] = {
val userModel = UserConverter.toModel(userContract)
dao.insert(userModel)
}
}