1.通过注解注入 mongoTemplate

@Autowired
private MongoTemplate mongoTemplate;

2.获取Query 和  Criteria 对象

 Query query = new Query();Criteria criteria = new Criteria();

3.多参数动态查询。criteria 有两种写法,一种是criteria.and().is();另一种是criteria.where().is(),两种方式不能混合使用,否则不生效。

if(runningStatus != null){
criteria.and("runningStatus").is(runningStatus);
}

4.根据日期时间进行范围查询

SimpleDateFormat format =  new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );criteria.and("createTime").gt(format.parse(createTime));
criteria.and("endTime").lte(format.parse(endTime));

5.模糊查询

Pattern pattern=Pattern.compile("^.*"+taskTypeCode+".*$", Pattern.CASE_INSENSITIVE);
criteria.and("taskTypeCode").regex(pattern);

6.将查询条件装载到query中

query.addCriteria(criteria);

7.排序 通过参数 sord 判断排序方向,sortBy 为排序字段

 query.with(new Sort(sord.length() == 3 ? Direction.ASC : Direction.DESC, sortBy));

8.分页,有两种方式,一种是通过pageable 一种是 limit().skip();limit表示查询多少数据,skip表示从哪条数据查起

//第一种query.with(pageable);long totoal = this.mongoTemplate.count(query, TaskMongo.class);List<TaskMongo> listTaskMongo = this.mongoTemplate.find(query , TaskMongo.class);//第二种query.limit(5000).skip(5000);List<TaskMongo> listTaskMongo = this.mongoTemplate.find(query , TaskMongo.class);

9.一个模糊关键字匹配多个字段

 Pattern pattern=Pattern.compile("^.*"+pattern_name+".*$", Pattern.CASE_INSENSITIVE);criatira.orOperator(Criteria.where("name").regex(pattern),Criteria.where("sex").regex(pattern),Criteria.where("age").regex(pattern),Criteria.where("class").regex(pattern));

10. 查询指定的字段通过 Field这个类,通过findFields.include()方法设置查询字段

Query query = new Query(criteria);
Field findFields = query.fields();
findFields.include("id");

springboot 整合mongoTemplate的 Query Criteria 用法相关推荐

  1. springboot 整合 mongodb Criteria类 查询条件大全

    关于springboot整合mongodb,可查看博文 https://blog.csdn.net/qq_41712271/article/details/116062611 import cn.hu ...

  2. SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询

    SpringBoot整合Mongodb(三) 使用MongoTemplate进行连表查询 由于在实际开发项目中,突然涉及到了需要Mongodb 进行连表操作的业务,所以我在私下进行了一波学习. 服务器 ...

  3. springboot整合elasticJob实战(纯代码开发三种任务类型用法)以及分片系统,事件追踪详解...

    一 springboot整合 介绍就不多说了,只有这个框架是当当网开源的,支持分布式调度,分布式系统中非常合适(两个服务同时跑不会重复,并且可灵活配置分开分批处理数据,贼方便)! 这里主要还是用到zo ...

  4. RedisTemplate操作redis五大类型用法详解(springboot整合redis版本)

    1.案例说明 springboot整合redis之后,提供了操作redis的简便方式 通过通用对象redisTemplate方式操作String,Hash,List,Set SortSet五大数据类型 ...

  5. 直接裂开!京东二面被问SpringBoot整合MongoDB,我不会啊

    开始进入正题 一.技术介绍 SpringBoot整合MongoDB的实现步骤 一.技术介绍 1.MongoDB是什么? 二.使用步骤 1.MongoDB是什么? MongoDB(来自于英文单词&quo ...

  6. core 实例化接口_实例讲解Springboot整合MongoDB进行CRUD操作的两种方式

    1 简介 Springboot是最简单的使用Spring的方式,而MongoDB是最流行的NoSQL数据库.两者在分布式.微服务架构中使用率极高,本文将用实例介绍如何在Springboot中整合Mon ...

  7. SpringBoot整合MongoDB 及 基本使用

    目录 1.MongoDB基本介绍 2.MongoDB的特点 3.MongoDB的体系结构 4.MongoDB的数据类型 5.SpringBoot整合MongoDB ** 1.导入依赖 2.启动Mong ...

  8. SpringBoot整合MongoDB数据库并实现基础CRUD

    MongoDB安装教程:MongoDB数据库安装以及将MongoDB设置为系统服务 MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,由C++语言编写.旨为WEB应用提供可扩展的高性 ...

  9. SpringBoot整合MongoDB,MongoTemplent的使用(3)

    简介 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库 ...

最新文章

  1. 计算机教室要配备空调吗,孩子们教室里的空调 到底要不要装?能不能装?
  2. 循环更新数据库java_java – 无限循环数据库检查
  3. [k8s]k8s pod的4种网络模式最佳实战(externalIPs )
  4. FE.ES-JavaScript的模块化历史
  5. CentOS 6.3下Samba服务器的安装与配置(转)
  6. 机器人学习--感知环境数据集
  7. IAAS: IT公司去IOE-Alibaba系统构架解读
  8. silverlight5
  9. 程序一旦发觉写得不理想,那就得重构它
  10. java 声明静态类,为什么你不能在Java中将类声明为静态?
  11. .Net学习笔记----2015-06-28(值类型和引用类型)
  12. 【Android】Android签名:pem和pk8转化为keystore,jks
  13. PCI Express Base Specification Revision 3.0 英文手册 免费下载
  14. 安卓手机屏幕怎么投射到电脑显示器
  15. C++ 167. 两数之和 II 633. 平方数之和
  16. linux dns主配置文件,RHEL 5下DNS的主配置文件详解
  17. 使用Java导出Excel表格并由浏览器直接下载——基于POI框架
  18. 作者领读 | Prometheus云原生监控
  19. 【MDCC 2016】iOS开发峰会回顾:实战Coding演示 技术大牛带你起飞
  20. 413:Calling Extraterrestrial Intelligence Again(翻译 )

热门文章

  1. linux系统中如何验证网络端口通不通
  2. 数值转换lexical_cast的使用
  3. NOVA温控器参数笔记(六)(G.OUT)
  4. C C++ 分别编程赋不同姓名的约瑟夫环及用WindowsApi(C++及C)显示离座过程动画
  5. MATLAB许可证即将过期的解决办法
  6. web前端入门到实战:实现CSS形状变换
  7. java基础巩固-宇宙第一AiYWM:为了维持生计,手写RPC~Version07(RPC原理、序列化框架们、网络协议框架们 、RPC 能帮助我们做什么呢、RPC异常排查:ctrl+F搜超时)整起
  8. 【PHP】PHP5.4.0版本ChangeLog详解(上)
  9. [Perl语法篇] 数据类型:标量$Scalar
  10. 制造业应用ERP企业管理系统的必要性