文章目录
注入MongoTemplate 模板
- 注入MongoTemplate 模板
- 使用原生命令进行点赞操作
- 测试
在service中,注入MongoTemplate ,便于使用MongoDB的原生命令
@Autowired
private MongoTemplate mongoTemplate;
使用原生命令进行点赞操作
在使用原生命令实现自增中,敲的命令是 第一个对象,是查找出id为1的数据, 第二个对象是指定thumbup字段进行加一的操作 db.spit.update({"_id" : "1"},{$inc:{thumbup:NumberInt(1)}})
在java代码中,也能类似的实现,代码如下
/**
* 方法名: thumbup
* 方法描述: 点赞
* 修改日期: 2019/1/19 18:02
* @param spitId 吐槽的id
* @return void
* @author taohongchao
* @throws
*/
public void thumbup(String spitId) {
//db.spit.update({"_id" : "1"},{$inc:{thumbup:NumberInt(1)}})
//用于指定查询的条件
Query query =new Query();
query.addCriteria(Criteria.where("_id").is(spitId));
//用于指定在哪个字段上进行自增
Update update =new Update();
update.inc("thumbup", 1);
/**
* 传递三个参数
* query 对象,用于指定查询的条件
* update 对象 用于指定在哪个字段上进行自增
* collectionName 第三个参数,用于指定在哪个集合即哪张表上进行自增
*/
mongoTemplate.updateFirst(query, update, "spit");
}
而且使用原生的自增,也不用判断null值了, 如果为null的,也能成功进行加一的操作
测试发送put请求,对id为5的进行点赞操作 http://localhost:9006/spit/thumbup/5
再通过id为5的进行查询, 发送get请求 http://localhost:9006/spit/5
该thumbup 字段加一了