mongoTemplate的增删改查

1、增加或保存

public void saveOrUpdateExperiment(Experiment experiment) {
 
      if (StringUtil.hasText(experiment.getExpNo())) {
          Query query = new Query();
          Criteria criteria = Criteria.where("exp_no").is(experiment.getExpNo());
          query.addCriteria(criteria);
          Experiment exp = mongoTemplate.findAndRemove(query, Experiment.class);
          experiment.setCreator(exp.getCreator());
          experiment.setCreateDate(exp.getCreateDate());
      }
 
      mongoTemplate.save(experiment);
  }

2、查询一条记录

public Experiment getExperimentByExpNo(String expNo) {
       Query query = new Query();
       Criteria criteria = Criteria.where("exp_no").is(expNo);
       query.addCriteria(criteria);
       return mongoTemplate.findOne(query, Experiment.class);
   }

3、查询List

public List<Project> getProjects(String creator) {
        Query query = new Query();
        if (StringUtil.hasText(creator)) {
            Criteria criteria = Criteria.where("creator").is(creator);
            query.addCriteria(criteria);
        }
        return mongoTemplate.find(query, Project.class);
    }

4、删除

Query query = Query.query(Criteria.where("classId").is("1"));
mongoTemplate.remove(query,"class");

5、增加

   /**
     * 插入用户消息
     *
     * @param appMsgUser
     */
    @Override
    public void insertMsgUser(AppMsgUser appMsgUser) {
        mongoTemplate.insert(appMsgUser);
    }

6、模糊查询

public List<Sample> findSamples(String memberId, SelectVo selectVo) {
       Criteria criteria = Criteria.where("creator").is(memberId);
       if (StringUtil.hasText(selectVo.getName())) {
           Pattern pattern = Pattern.compile("^.*" + selectVo.getName() + ".*$", Pattern.CASE_INSENSITIVE);
           criteria.orOperator(Criteria.where("projectNo").regex(pattern), Criteria.where("name").regex(pattern));
       }
       return findPageList(Query.query(criteria), Sample.class, new PageTag(selectVo.getPage(), selectVo.getPageSize()));
   }

6、修改

public void modifyHitNumByNo(String no) {
       Query query = new Query();
       query.addCriteria(Criteria.where("sap_no").is(no));
       Update update = new Update();
       update.inc("hit_num", 1);
       mongoTemplate.updateFirst(query, update, Project.class);
   }

7、分页查询

public List<Sample> searchAllSample(String id, PageTag page) {
       Query query = new Query();
       query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "update_date")));
       int skip = (page.getCurrentPage() - 1) * page.getPageSize();
       if (StringUtil.hasText(id)) {
           Criteria criteria = Criteria.where("creator").is(id);
           query.addCriteria(criteria);
       }
       query.skip(skip);// 从那条记录开始
       query.limit(page.getPageSize());// 取多少条记录
       return mongoTemplate.find(query, Sample.class);
   }

8、计算数量

public long countSample(String id) {
        Query query = new Query();
        if (StringUtil.hasText(id))
            query.addCriteria(Criteria.where("creator").is(id));
 
        return mongoTemplate.count(query, Sample.class);
    }

你是技术宅么?那就加入我们吧!点击下方链接 或 扫描二维码 即可。

欢迎加入 CSDN技术交流群2:(点击即可加群)QQ群:456543087

               CSDN技术交流群(已满员):(点击即可加群)QQ群:681223095。  

商务合作@群主,谢谢!

因经常有人留言,未能及时查看到和回复,所以特建此群,以方便交流。方便问题讨论,有问题和没有问题的小伙伴均可加入,用作自我学习和共同进步。本博主不一定长期在线,但是qq群里会有很多热心的小伙伴,大家一起讨论解决问题。

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MongoTemplate是Spring Data MongoDB提供的一个MongoDB操作模板,它封装了对MongoDB的常用操作方法。以下是MongoTemplate增删改查语法示例: 1. 插入文档(增加数据): 使用`insert()`方法插入单个文档: ```java mongoTemplate.insert(objectToInsert, collectionName); ``` 使用`insertAll()`方法插入多个文档: ```java mongoTemplate.insertAll(listOfObjectsToInsert); ``` 2. 查询文档(查询数据): 使用`find()`方法查询文档: ```java mongoTemplate.find(query, Object.class, collectionName); ``` 查询所有文档: ```java mongoTemplate.findAll(Object.class, collectionName); ``` 3. 更新文档(修改数据): 使用`updateFirst()`方法更新单个文档: ```java mongoTemplate.updateFirst(query, update, Object.class, collectionName); ``` 使用`updateMulti()`方法更新多个文档: ```java mongoTemplate.updateMulti(query, update, Object.class, collectionName); ``` 4. 删除文档(删除数据): 使用`remove()`方法删除单个文档: ```java mongoTemplate.remove(query, Object.class, collectionName); ``` 使用`removeMulti()`方法删除多个文档: ```java mongoTemplate.remove(query, Object.class, collectionName); ``` 其中,`mongoTemplate`是你创建的MongoTemplate对象,`query`是查询条件,`update`是更新操作的内容,`Object.class`表示要查询或更新的文档类型,`collectionName`是集合名称。你可以根据自己的需求使用不同的查询条件和更新操作来完成相应的操作。具体的语法和选项可以参考Spring Data MongoDB的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值