spring-data-mongodb 对于collection的upsert操作
2014-12-30 12:21
561 查看
项目中用MongoTemplate实现对mongodb的操作
配置如下:
在使用的时候 对collection某个属性的upsert很方便,但是对于collection本身的upsert操作
template.upsert(query, update, entityClass)好像是不能用,于是改用template.execute(entityClass, callback)
记录一下方便以后使用
配置如下:
<mongo:mongo host="localhost" port="27017" /> <mongo:db-factory dbname="dbname" mongo-ref="mongo" write-concern="SAFE" /> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> </bean><pre name="code" class="java">
在使用的时候 对collection某个属性的upsert很方便,但是对于collection本身的upsert操作
template.upsert(query, update, entityClass)好像是不能用,于是改用template.execute(entityClass, callback)
记录一下方便以后使用
@Autowired private MongoTemplate template;
public void upsert(CommodityDTO commodity) { final BasicDBObject dbDoc = new BasicDBObject(); template.getConverter().write(commodity, dbDoc); template.execute(CommodityDTO.class, new CollectionCallback<CommodityDTO>() { @Override public CommodityDTO doInCollection(DBCollection collection) throws MongoException, DataAccessException { Query query = new Query(); query.addCriteria(Criteria.where(STR_ID).is(commodity.getId())); collection.update(query.getQueryObject(), dbDoc, true, false); return null; } }); }
相关文章推荐
- Spring Data MongoDB 二:添加、删除操作
- Spring Data MongoDB 级联操作
- spring-data-mongodb必须了解的操作
- Spring-data-MongoDB操作MongoDB
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
- 使用Spring Data MongoDB 做聚合操作出现的问题及解决方案
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
- Spring Data MongoDB 级联操作
- java用spring-data-mongodb操作mongodb的时间问题
- Spring Data MongoDB 六:进阶Aggregation操作(上)
- Spring Boot MongoDB How to remove _class from spring data mongodb collection
- [Spring Data MongoDB]学习笔记--MongoTemplate插入修改操作
- Spring Data MongoDB 级联操作
- spring data mongodb 提供的MongoTemplate 模板,进行Aggregation操作实践
- 通过使用spring-data-mongodb操作mongodb
- Spring Data MongoDB基本操作
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
- Spring Data MongoDB 二:添加、删除操作
- Spring Data MongoDB 六:进阶Aggregation操作(上)