如何 autoGenearte _id 而不是 mongoDB ObjectId()
how to autoGenearte _id instead of mongoDB ObjectId()
如何生成 "_id" : "01A63D2B-1724-456E-B2C0-3B3729951654" 而不是 "_id" : ObjectId("570602c46399e320c3022c6b")
我的Student.class
@Entity("student")
public class Student {
@Id
private String Id;
private long studentId;
private String studentName;
private String qualification;
public Student(){
}
public Student(long studentId, String studentName, String qualification) {
this.studentId = studentId;
this.studentName = studentName;
this.qualification = qualification;
}
public long getStudentId() {
return studentId;
}
public void setStudentId(long studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
}
函数添加JSON数据到MOngoDB:
public void importFromJsonToMongoDB(File file) throws FileNotFoundException{
try{
String strJson = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
JSONArray jsonArr = new JSONArray(strJson);
for (int i = 0; i < jsonArr.length(); i++)
{
JSONObject jsonObj = jsonArr.getJSONObject(i);
String str = jsonObj.toString();
ObjectMapper mapper = new ObjectMapper();
Student std = mapper.readValue(str, Student.class);
sr.save(std);
}
}catch (Exception e) {
e.printStackTrace();
System.out.println("Error While parsing data");
}
* 如何自动生成id?而不是 MongoDb 生成它。
将现有的 NO-arg 构造函数替换为以下构造函数
Student.class
public Student(){
super();
id = UUID.randomUUID().toString();
}
- 这将生成随机 ID 而不是 MongoDB ObjectId
我认为您需要在 MongoDB 中插入文档时添加“_id”字段。由于您没有指定任何“_id”字段,它将由 MongoDB 自动生成。您也可以使用 mongodb 的 getNextSequence() 方法根据您的喜好生成 id。
注意:StudentID 和 _id 是同一文档中的两个不同实体。
希望这些 link 对您有用:
https://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
如何生成 "_id" : "01A63D2B-1724-456E-B2C0-3B3729951654" 而不是 "_id" : ObjectId("570602c46399e320c3022c6b")
我的Student.class
@Entity("student")
public class Student {
@Id
private String Id;
private long studentId;
private String studentName;
private String qualification;
public Student(){
}
public Student(long studentId, String studentName, String qualification) {
this.studentId = studentId;
this.studentName = studentName;
this.qualification = qualification;
}
public long getStudentId() {
return studentId;
}
public void setStudentId(long studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getQualification() {
return qualification;
}
public void setQualification(String qualification) {
this.qualification = qualification;
}
}
函数添加JSON数据到MOngoDB:
public void importFromJsonToMongoDB(File file) throws FileNotFoundException{
try{
String strJson = FileUtils.readFileToString(file, StandardCharsets.UTF_8);
JSONArray jsonArr = new JSONArray(strJson);
for (int i = 0; i < jsonArr.length(); i++)
{
JSONObject jsonObj = jsonArr.getJSONObject(i);
String str = jsonObj.toString();
ObjectMapper mapper = new ObjectMapper();
Student std = mapper.readValue(str, Student.class);
sr.save(std);
}
}catch (Exception e) {
e.printStackTrace();
System.out.println("Error While parsing data");
}
* 如何自动生成id?而不是 MongoDb 生成它。
将现有的 NO-arg 构造函数替换为以下构造函数 Student.class
public Student(){
super();
id = UUID.randomUUID().toString();
}
- 这将生成随机 ID 而不是 MongoDB ObjectId
我认为您需要在 MongoDB 中插入文档时添加“_id”字段。由于您没有指定任何“_id”字段,它将由 MongoDB 自动生成。您也可以使用 mongodb 的 getNextSequence() 方法根据您的喜好生成 id。
注意:StudentID 和 _id 是同一文档中的两个不同实体。
希望这些 link 对您有用: https://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/