不祥的异族小鬼 2016-04-25 02:15 采纳率: 0%
浏览 4716
已结题

mongoTemplate修改时如何传入一个对象

第一次使用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是什么?因为在文档里没有查到……所以还烦请一并赐教,谢谢~

  • 写回答

2条回答 默认 最新

  • 末代御医 2016-04-26 16:53
    关注

    key是mongodb里面集合里的字段名,value是你要修改的值,要传入对象你可以看看spring data mongodb。用jpa方式操作简单

    评论

报告相同问题?

悬赏问题

  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥30 BC260Y用MQTT向阿里云发布主题消息一直错误
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)