MongoDB Morphia -Уникальный

Я пытаюсь иметь согласованную базу данных, в которой имя пользователя и адрес электронной почты уникальны.

http://www.mongodb.org/display/DOCS/Indexes#Indexes-unique%3Atrue

http://code.google.com/p/morphia/wiki/EntityAnnotation

Мой пользовательский класс выглядит так:

public class User {
    @Indexed(unique = true)
    @Required
    @MinLength(4)
    public String username;

    @Indexed(unique = true)
    @Required
    @Email
    public String email;

    @Required
    @MinLength(6)
    public String password;

    @Valid
    public Profile profile;

    public User() {
...

Я использовал аннотацию @Indexed (unique=true ), но она не работает. В моей БД все еще есть дубликаты.

Любые идеи, как я могу это исправить?

Изменить:

Я читал о sureIndexes, но это кажется неправильным подходом, я не хочу загружать повторяющиеся данные, просто чтобы убедиться, что это действительно дубликат.

Я хочу заблокировать это немедленно.

что-то вроде

try{

ds.save(user);
}
catch(UniqueException e){
...
}

5
задан Maik Klein 4 August 2012 в 21:57
поделиться