您当前的位置: 首页 >  mongodb

java持续实践

暂无认证

  • 1浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

黑马十次方项目day03-19之MongoDB原生命令实现自增

java持续实践 发布时间:2019-01-19 19:25:07 ,浏览量:1

文章目录
      • 注入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 字段加一了

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.0389s