0
我想知道,我试图更新有一些特性,如使用Spring数据的MongoDB
{
"id": "591fcd33f8bb03598ec34f70",
"name": null,
"username": "abc",
"emailId": "[email protected]",
"interestedFlag": 1,
"mobNo": "xxxxxxxxxx",
"userActiveFlag": 1,
"address": "1",
"city": "abx",
"state": "up",
"profileImage": [
{}
],
"joinedOn": null,
"modifiedOn": null,
"lastVisited": null,
"tempPassword": "1234567",
"sex": null,
"metaDataMap": {},
"dob": null
}
文件
的集合user
的一个或属性修改文档的某些属性 假设我想更新user
名称而且如果我使用以下命令运行save
:
userRepository.save(userEntity);
它改变了我的用户为:
{
"id": "591fcd33f8bb03598ec34f70",
"name": "New Name",
"username": null,
"emailId": null,
"interestedFlag": null,
"mobNo": null,
"userActiveFlag": null,
"address": null,
"city": null,
"state": null,
"profileImage": null,
"joinedOn": null,
"modifiedOn": null,
"lastVisited": null,
"tempPassword": null,
"sex": null,
"metaDataMap": {},
"dob": null
}
但理想我想改变我的用户名只。
我用户控制器是:
@PATCH
@Path("/changepassword/{userId}")
@Consumes("application/json")
public User changeName(@PathParam("userId") String userId, final User user) {
userService.changePassword(user);
return user;
}
我serviceImpl是:
@Override
public User changeName(User user){
User userEntity = userRepository.findById(user.getId());
userEntity.setName(user.getName());
return userRepository.save(userEntity);
}
我mongoRepository是:
public interface UserRepository extends MongoRepository<User, String>
请用我的Spring-data-mongodb来帮助我实现这个目标。
这将有所帮助。 http://docs.spring.io/spring-data/data-mongo/docs/current/reference/html/#mongodb-template-update – Veeram
你必须使用MongoTemplate – pvpkiran