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