我正在尝试拥有一个一致的数据库,其中用户名和电子邮件是唯一的。
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) 注释,但它不起作用。我的数据库中仍然有重复项。
有什么想法可以解决这个问题吗?
编辑:
我读到了 ensureIndexes 但这似乎是一种错误的方法,我不想上传重复的数据,只是想看看它真的是重复的。
我想立即阻止它。
类似的东西
try{
ds.save(user);
}
catch(UniqueException e){
...
}