春季数据:MongoDB文档中的唯一字段

2022-09-03 03:52:16

假设我有以下数据库实体:

@Document(collection = "users")
public class User {
    
    @Id
    private String id;

    private String firstname;

    private String lastname;

    private String email; 

}

如何强制字段电子邮件是唯一的?这意味着MongoDB应该在应用程序尝试保存实体时检查具有此电子邮件地址的用户记录是否已存在。


答案 1

Mongodb需要创建一个字段并为其编制索引,以便知道该字段是否唯一。

@Indexed(unique=true)
private String email;

答案 2

这对我有用,但您必须删除数据库,然后重新运行应用程序

 spring.data.mongodb.auto-index-creation=true