第一次使用mongoDB来开发java项目,整合了Spring,有一个user类,里面有id,name和password,想在修改的时候直接传入一个user对象,因为之前mysql的时候一直是这么干的。。。但是测试时发现不起作用,因为关于mongoTemplate的文档比较少,也一直没查到,所以有几个问题想请教一下高手,望不吝赐教,谢谢!
service相关代码
public int updateUser(User user) {
mongoTemplate.updateFirst(new Query(Criteria.where("id").is(user.getId())),Update.update("user", user), User.class, USER_COLLECTION);
return 0;
}
测试类相关代码
@Test
public void userAddTest() throws Exception {
User user = new User();
user.setName("zhangsan");
user.setPassword("123abc");
userService.addUser(user);
List<User> list = userService.listAll();
for (User user2 : list) {
System.out.println(user2.getName());
System.out.println(user2.getPassword());
}
System.out.println("*********************");
user.setName("lisi");
userService.updateUser(user);
list = userService.listAll();
for (User user2 : list) {
System.out.println(user2.getName());
System.out.println(user2.getPassword());
}
}
测试结果:
zhangsan
123abc
*********************
zhangsan
123abc
对了,还有一个问题,就是那个Update类中的update(String key, Object Value)里面的key 和 value是什么?因为在文档里没有查到……所以还烦请一并赐教,谢谢~