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

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方式操作简单

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!