如何使用MongoRepository更新mongodb中的几个字段?
我有一个用户POJO,其字段为:如何使用MongoRepository更新mongodb中的几个字段?,mongodb,mongorepository,Mongodb,Mongorepository,我有一个用户POJO,其字段为: @Id private String _id; private String phone; private String email; private String password; private String userName; private String dob; private String gender; private String city; private String
@Id
private String _id;
private String phone;
private String email;
private String password;
private String userName;
private String dob;
private String gender;
private String city;
private String pincode;
private String status;
private String validUpto;
private List<String> userRole;
private String persona;
@Id
私有字符串_id;
私人电话;
私人字符串电子邮件;
私有字符串密码;
私有字符串用户名;
私有字符串dob;
私人字符串性别;
私人城市;
私有字符串pincode;
私有字符串状态;
私有字符串validUpto;
私有列表用户角色;
私人字符串角色;
我在MongoDB(文档)中保存了所有字段。
现在我只想更新几个字段,比如city、Pincode
我也提到了这一点,但它并没有通过MongoRepository给出答案
是否有任何方法可以通过MongoRepository而不是MongoTemplate只更新少数字段。存储库仅提供“更新”操作
。保存(对象)代码>
但是您可以通过从存储库中检索对象、更改相关字段来更新它。然后,将更新的对象保存到存储库中
这将使您获得所需的“更新”结果
springboot/SpringRepository示例
@Autowired
UserRepository userRepository;
@Test
public void testUpdateUser() throws Exception {
User foundUser = userRepository.findById("1");
foundUser.setCity("Helsinki");
// foundUser.setOtherFields("new values");
userRepository.save(foundUser); // Will 'update' but it essentially replaces the entity in database
}
即使是我也面临着同样的问题,有人知道吗