https://blog.csdn.net/congcong68/article/details/47357203
我们SpringData MongoDB提供的对应的修改方法
1. mongoTemplate. updateFirst 修改符合条件第一条记录
2. mongoTemplate. updateMulti 修改符合条件的所有
3. mongoTemplate. Upsert 修改符合条件时如果不存在则添加
参数:Query,Update,entityClass,collectName
参数说明:
(1) Query : 要修改哪些的查询条件,类似于SQL 的 where
1) org.springframework.data.mongodb.core.query
2) org.springframework.data.mongodb.core.query.BasicQuery
这两个参数的区别和使用,参考查询部分
(2) update
1) org.springframework.data.mongodb.core.query.Update
2) 子类org.springframework.data.mongodb.core.query.BasicUpdate
1> update
Update update = new Update();
update.set("","").set("","");
update.set(),unset(),rename(),multiply()等方法,与mongodb操作差不多
2> BasicUpdate
BasicUpdate继承了update方法,BasicUpdate构造参数可以自己实现update SQL 语句
1)BasicUpdate(DBObjectupdate Object) Object是JSON格式
2)BasicUpdate(java.lang.StringupdateString)
update与basicUpdate方法使用举例:
mongoTemplate.upsert(new Query(Criteria.where("onumber").is("001")), new Update().set("cname", "zcy"), collectionName);
BasicDBObject basicDBObject=new BasicDBObject(); basicDBObject.put("$set", new BasicDBObject("date","2015-08-09")); Updateupdate=newBasicUpdate(basicDBObject); mongoTemplate.updateFirst(new Query(Criteria.where("cname").is("zcy")), update,collectionName);
String update="{$set:{\"date\":\"2015-08-09\"}}" mongoTemplate.updateFirst(new Query(Criteria.where("cname").is("zcy")), update,collectionName);其中query部分也可以换成BasicQuery