spring-data-mongo,如何 return 返回 mongo 中已保存对象的 _id?
spring-data-mongo, how to return _id back for saved objects from mongo?
我是 Spring 数据 mongo 的新手。我有相同名字的文件说约翰,但中间名和姓氏不同。
同样来自 UI,一些学生填充数据(通过表单提供数据)也有 FirstName 说 John 并且 MiddleName 和 LastName 会有所不同。
现在,当我使用 MongoTemplate 将用户对象(具有 FirstName、MiddleName、LastName、Age、Sex 等等)保存到 mongo 中时。我需要 return 返回那些每个保存的用户对象的“_id”(如果我们没有明确提供它,默认情况下 mongo 创建)。
您能否提供任何示例/指导?请帮忙。
Spring 数据 MongoDB 将使用生成的标识符值自动填充域对象的标识符 属性。
@Document
class User {
ObjectId id; // by convention, use @Id if you want to use a different name
String firstname, lastname;
…
}
如果此 class 的对象在 id
属性 设置为 null
的情况下持久化,该对象将在其后设置 属性已通过 MongoTempalte
.
保留
所有这些也在reference documentation中描述。
如果您使用 mongo 模板保存,您的对象 ID 将在对象插入(如 Oliver Gierke 所写)后设置,因此您可以这样做。
//User object annotated with @Document
User user = new User(String name);
user.setWhatever(something);
mongoTemplate.save(user);
//now the user object should be populated with generated id;
return user.getId();
但您可以使用普通的 CrudRepository 并将其与
一起使用
<mongo:repositories base-package="your.package" />
我是 Spring 数据 mongo 的新手。我有相同名字的文件说约翰,但中间名和姓氏不同。
同样来自 UI,一些学生填充数据(通过表单提供数据)也有 FirstName 说 John 并且 MiddleName 和 LastName 会有所不同。
现在,当我使用 MongoTemplate 将用户对象(具有 FirstName、MiddleName、LastName、Age、Sex 等等)保存到 mongo 中时。我需要 return 返回那些每个保存的用户对象的“_id”(如果我们没有明确提供它,默认情况下 mongo 创建)。
您能否提供任何示例/指导?请帮忙。
Spring 数据 MongoDB 将使用生成的标识符值自动填充域对象的标识符 属性。
@Document
class User {
ObjectId id; // by convention, use @Id if you want to use a different name
String firstname, lastname;
…
}
如果此 class 的对象在 id
属性 设置为 null
的情况下持久化,该对象将在其后设置 属性已通过 MongoTempalte
.
所有这些也在reference documentation中描述。
如果您使用 mongo 模板保存,您的对象 ID 将在对象插入(如 Oliver Gierke 所写)后设置,因此您可以这样做。
//User object annotated with @Document
User user = new User(String name);
user.setWhatever(something);
mongoTemplate.save(user);
//now the user object should be populated with generated id;
return user.getId();
但您可以使用普通的 CrudRepository 并将其与
一起使用<mongo:repositories base-package="your.package" />