mongodb和spring引导中的DuplicateKeyException
我正在使用SpringBoot和MongoDB,并且我能够成功地在MongoDB中存储文档。当我试图插入第二个文档时,它显示了mongodb和spring引导中的DuplicateKeyException,spring,mongodb,spring-boot,spring-data,Spring,Mongodb,Spring Boot,Spring Data,我正在使用SpringBoot和MongoDB,并且我能够成功地在MongoDB中存储文档。当我试图插入第二个文档时,它显示了duplicatekeyexception。异常的总消息如下: com.mongodb.DuplicateKeyException:写入失败,错误代码为11000 和错误消息“E11000重复密钥错误收集: Football_Admin.SignUp索引:id dup键:{:0}' 代码如下: SignUpRepository.java package com.admin
duplicatekeyexception
。异常的总消息如下:
com.mongodb.DuplicateKeyException:写入失败,错误代码为11000
和错误消息“E11000重复密钥错误收集:
Football_Admin.SignUp索引:id dup键:{:0}'
代码如下:
SignUpRepository.java
package com.admin.Repository;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;
import com.admin.Model.SignUp;
@Repository
public interface SignUpRepository extends MongoRepository<SignUp,String>{
}
实体
package com.admin.Model;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection="SignUp")
public class SignUp {
@Id
private int id;
private String fullName;
private String email;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString() {
return id+""+fullName+""+password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
MongoDb驱动程序在插入时不知道如何创建类型为
int
的唯一Id,因此您收到了唯一索引异常
因此,要么手动创建和维护索引(相当困难),要么将id字段类型更改为
ObjectIdMongoDb驱动程序在插入时不知道如何创建类型为int
的唯一id,因此收到唯一索引异常
因此,要么手动创建并维护索引(相当困难),要么将id字段类型更改为ObjectId
实体的外观?@MạnhQuyế特恩盖伊ễn添加实体。刷新页面您的实体是什么样子?@MạnhQuyế特恩盖伊ễn添加实体。刷新页面谢谢。刚刚将数据类型更改为字符串,它工作得非常好。如果可能,是否有任何资源可以帮助您手动创建和维护索引?谢谢。刚刚将数据类型更改为字符串,它工作得很好。如果可能,是否有任何资源可以帮助您手动创建和维护索引??
package com.admin.Model;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection="SignUp")
public class SignUp {
@Id
private int id;
private String fullName;
private String email;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFullName() {
return fullName;
}
public void setFullName(String fullName) {
this.fullName = fullName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString() {
return id+""+fullName+""+password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}