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

问题描述

mongoTemplate修改时如何传入一个对象 1C
第一次使用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是什么?因为在文档里没有查到……所以还烦请一并赐教,谢谢~

解决方案

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

时间: 2024-11-03 02:42:01

mongotemplate-mongoTemplate修改时如何传入一个对象的相关文章

openwrt luci-关于刚学习luci 界面修改时的疑问

问题描述 关于刚学习luci 界面修改时的疑问 1.通过cbi,将界面中的值修改后,会将其自动保存到相应的config中,其中的ui方式的实现方式,基本的工作流程是怎么样的? 比如说,我不想保存到etc/config下的配置文件中,想要保存到其他文件中具体该怎么做 2.entry 第一个参数path 的第三项或者之后几项的具体作用是什么, 比如说第三个参数如果我定义为"" 则无法形成我创建的界面,那我随便定义一个值,就能出现我的界面,那是否说第三个参数的值可以随我们定义,没有多大作用,

如何使用DUMP数据块与BBED查看BLOCK对比数据库修改时的SCN

实验思路: 先在数据库中对bys.a表的一行进行更新,查出此行对应的FILE# BLOCK# 然后DUMP此FILE# BLOCK#,查看SCN信息 使用BBED DUMP此FILE# BLOCK#,查看SCN信息 1.在数据库中对 bys.a表的一行进行更新,记录此行的ROWID. 19:55:13 BYS@ bys3>select * from a; B ---------- 55 7 3 19:55:15 BYS@ bys3>update a  set b=0 where b=7; 1

easyui信息修改时,重新上传图片,旁边显示新的图片

问题描述 easyui信息修改时,重新上传图片,旁边显示新的图片 上传成功后显示现在上传的图片 解决方案 /** * 下载方法(在页面上显示不保存在该项目里的图片) * @param mapping * @param ctrlForm * @param request * @param response * @return * @throws Exception */ public void showImg(ActionMapping mapping, ActionForm ctrlForm,

java中form表单提交时Action传入不同的对象

问题描述 java中form表单提交时Action传入不同的对象 如题 在我点保存的时候进入action时传参(参数是实体类),参数有可能是不同的实体类, 解决方案 使用hashmap,hashmap的key是属性,value是属性值.在服务器端通过反射给属性赋值/取值/遍历属性. 解决方案二: 可以通过jquery $(""#id"").attr(""action""xxxxx"")然后再$("

java项目中对象第二次创建时,第一个对象为什么还存在

问题描述 java项目中对象第二次创建时,第一个对象为什么还存在 可能我问题提的不太清楚,我举个例子 比如一个类 public class A{ private List list = new ArrayList(); public void add(){ list.add("abv"); } public void tell(){ System.out.print(list.size()); } } 在其他地方调用 A a = new A(); a.add(); Thread.sle

c#dataerror-c#datagridview修改时的异常dataerror

问题描述 c#datagridview修改时的异常dataerror 在添加新纪录和修改时字体会发生变化,并且出现下图的错误提示,而且点哪都不能动,只能删除新编辑的那一行 解决方案 C#datagridview_selectionchanged的异常 解决方案二: 图太小.看不见.先学会怎么提问吧. 解决方案三: @2 qq 31122105 qq_31122105 图片太模糊了,看不清楚你的问题

在做会员资料修改时,实现下拉菜单的默认项定位

菜单|下拉 <!--在写一个交友网站时碰到的问题,就是当会员修改资料时,如何定位SELECT的菜单列默认项,不过很容易就解决了--><HTML><HEAD><META http-equiv='Content-Type' content='text/html;charset=gb2312'><Meta name='Gemeratpr' content='网络程序员伴侣(Lshdic)2004'><meta name="DownLoa

C# 记录日志问题,数据库事务修改时如何便捷获取修改数据的值?

问题描述 在作"修改"功能时,需要保存4个表数据.在修改的时候,如何判断哪些数据已经修改,并把修改数据记录下来写到操作日志中. 解决方案 解决方案二:这是纯逻辑问题了保存数据的时候不判断是否有变化,无脑执行SQL?解决方案三:对你操作数据库的执行结果进行判断:成功,记录你修改的信息:失败,通行记录错误或是异常信息.解决方案四:写个存储过程比较好解决方案五:EntityFramework帮你记录啦,如果你用的话解决方案六:引用1楼Z65443344的回复: 这是纯逻辑问题了保存数据的时候

LigerUi-Js中Grid行修改时为何不执行保存事件

(1) (2)下面代码写在grid上面 function itemclick1(item) { var editingrow = grid.getEditingRow(); switch (item.text) { case "增加": if (editingrow == null) { grid.addEditRow(); } else { LG.tip('请先提交或取消'); } break; case "修改": var selected = grid.get