Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb和spring引导中的DuplicateKeyException_Spring_Mongodb_Spring Boot_Spring Data - Fatal编程技术网

mongodb和spring引导中的DuplicateKeyException

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

我正在使用SpringBoot和MongoDB,并且我能够成功地在MongoDB中存储文档。当我试图插入第二个文档时,它显示了
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字段类型更改为
ObjectId

MongoDb驱动程序在插入时不知道如何创建类型为
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;
}


}