В моем приложении Spring MVC у меня есть следующие сущности Mongo:
@Document(collection = "users")
public class UserMongoEntity {
@Id
private String id;
@NotBlank
@Email
@Indexed(unique = true, sparse = true)
private String email;
private String firstName;
и объект отправки, содержащий пользователя в качестве поля:
@Document(collection = "submissions")
public class SubmissionMongoEntity {
@Id
private String id;
private Instant timestamp;
@Valid
private UserMongoEntity user;
Когда я делаю запрос на добавление нового пользователя, я получаю сообщение об ошибке, если пользователь с таким же адресом электронной почты уже существует, как и ожидалось. Однако, когда я вставляю отправку с одним и тем же пользователем дважды, я получаю исключение за нарушение уникальности индекса: duplicate key error collection: user.email dup key
.
Я мог бы удалить @Indexed
, но я считаю, что есть лучший способ.