mongodb and 和 or 查询
db.getCollection('gxyWarnEntity').find({ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "594f724d6974c107bd702cc6ef39183a", "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] })
java:
public List<GxyWarnEntity> selectWarnPage(GxyWarnEntity gxyWarnEntity){
Criteria cri =Criteria.where("schoolId").is(gxyWarnEntity.getSchoolId());
if(gxyWarnEntity.getBatchId()!=null) {
cri.and("batchId").is(gxyWarnEntity.getBatchId());
}
if(gxyWarnEntity.getDepId()!=null){
cri.and("depId").is(gxyWarnEntity.getDepId());
}
if(gxyWarnEntity.getWarningType()!=null){
cri.and("warningType").is(gxyWarnEntity.getWarningType());
}
if(gxyWarnEntity.getStudentName()!=null){
cri.orOperator(Criteria.where("studentName").regex(gxyWarnEntity.getStudentName()),
Criteria.where("teacherName").regex(gxyWarnEntity.getStudentName())
//,Criteria.where("classTeacherName").regex(gxyWarnEntity.getStudentName())
);
}
Query query = new Query(cri);
if (gxyWarnEntity.getCurrPage() != null && gxyWarnEntity.getPageSize() != null) {
query.skip((gxyWarnEntity.getCurrPage()-1)*gxyWarnEntity.getPageSize())
.limit(gxyWarnEntity.getPageSize());
}
return template.find(query, GxyWarnEntity.class);
}
and:
db.getCollection('gxyWarnEntity').find({ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "", "$and" : [{ "warningType" : { "$gte" : 1 } }, { "warningType" : { "$ne" : 4 } }], "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] })
{ "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "", "$and" : [{ "warningType" : { "$gte" : 1 } }, { "warningType" : { "$ne" : 4 } }], "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] } fields: Document{{}} for class: class com.zhangtao.moguding.practiceservice.entity.GxyWarnEntity in collection: gxyWarnEntity
2019-10-15 09:52:17.819 DEBUG 13028 --- [io-9020-exec-15] o.s.data.mongodb.core.MongoTemplate : Executing count: { "schoolId" : "f11c8ea12f457dbc19c768a8bb6357f8", "batchId" : "", "$and" : [{ "warningType" : { "$gte" : 1 } }, { "warningType" : { "$ne" : 4 } }], "$or" : [{ "studentName" : { "$regex" : "小", "$options" : "" } }, { "teacherName" : { "$regex" : "小", "$options" : "" } }] } in collection: gxyWarnEntity
public List<GxyWarnEntity> selectWarnPage(GxyWarnEntity gxyWarnEntity){
Criteria cri =Criteria.where("schoolId").is(gxyWarnEntity.getSchoolId());
if(gxyWarnEntity.getBatchId()!=null) {
cri.and("batchId").is(gxyWarnEntity.getBatchId());
}
if(gxyWarnEntity.getDepId()!=null){
cri.and("depId").is(gxyWarnEntity.getDepId());
}
if(gxyWarnEntity.getWarningType()!=null && gxyWarnEntity.getWarningType() != EnumUnsignType.UNSIGNONE.getType()){
cri.andOperator(
Criteria.where("warningType").gte(gxyWarnEntity.getWarningType()),
Criteria.where("warningType").ne(EnumUnsignType.UNSIGNONE.getType())
);
}
if(gxyWarnEntity.getStudentName()!=null){
cri.orOperator(Criteria.where("studentName").regex(gxyWarnEntity.getStudentName()),
Criteria.where("teacherName").regex(gxyWarnEntity.getStudentName())
//,Criteria.where("classTeacherName").regex(gxyWarnEntity.getStudentName())
);
}
Query query = new Query(cri);
if (gxyWarnEntity.getCurrPage() != null && gxyWarnEntity.getPageSize() != null) {
query.skip((gxyWarnEntity.getCurrPage()-1)*gxyWarnEntity.getPageSize())
.limit(gxyWarnEntity.getPageSize());
}
return template.find(query, GxyWarnEntity.class);
}
mongodb and 和 or 查询的更多相关文章
- NodeJs操作MongoDB之多表查询($lookup)与常见问题
NodeJs操作MongoDB之多表查询($lookup)与常见问题 一,方法介绍 aggregate()方法来对数据进行聚合操作.aggregate()方法的语法如下 1 aggregate(ope ...
- mongoDB的文档查询
1.简单查询: find() 方法以非结构化的方式来显示所有文档. 语法 MongoDB 查询数据的语法格式如下: collection是集合名字,注意应该是当前数据库的集合,collect ...
- 7. java操作MongoDB,采用_id查询
转自:https://www.2cto.com/database/201704/633262.html mongodb命令行_id查询方法 直接用ObjectId() db.getCollection ...
- MongoDB文档(二)--查询
(一)查询文档 查询文档可以使用以下方法 # 以非结构化的方式显示所有的文档 db.<collectionName>.find(document) # 以结构化的方式显示所有文档 db.& ...
- MongoDB学习笔记六—查询下
查询内嵌文档 数据准备 > db.blog.find().pretty() { "_id" : ObjectId("585694e4c5b0525a48a441b5 ...
- MongoDB学习笔记五—查询上
数据准备 { , "goods_name" : "KD876", "createTime" : ISODate("2016-12- ...
- MongoDB 文档的查询和插入操作
MongoDB是文档型数据库,有一些专门的术语,和关系型DB相似,但也有差异,例如,Collection类似于关系型DB的Table,document类似于row,key/value pair类似于c ...
- Mongodb profile(慢查询日志)
在MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是MongoDB Database Profiler.所以MongoDB 不仅有,而 ...
- MongoDB中的高级查询(二)
$mod取模运算 查询index对5取模运算等于1的数据. $not $not是元条件句,即可以用在任何其他条件之上.查询index对5取模运算不等于1的数据. $exists判断字段是否存在 查询出 ...
- MongoDB学习 (六):查询
本文地址:http://www.cnblogs.com/egger/archive/2013/06/14/3135847.html 欢迎转载 ,请保留此链接๑•́ ₃•̀๑! 本文将介绍操作符的使用 ...
随机推荐
- windows系统上 安装 Redis
下载地址:https://github.com/microsoftarchive/redis/releases 下载完成后,把这个给解压出来 然后,使用 cmd 命令 进入 解压的redis目录 输入 ...
- ansible模块补充
1.fetch模块, 将远程机器上的文件拉取到本地,以ip或者主机名生成目录,并保留原来的目录结构,与copy模块的功能相反. 主要参数 : dest -- 目标地址 src -- 源地址 例子 ...
- HDU 6619 Horse 斜率优化dp
http://acm.hdu.edu.cn/showproblem.php?pid=6619 #include<bits/stdc++.h> #define fi first #defin ...
- 了解 Spring Boot
Spring Boot是什么,解决哪些问题? SpringBoot是伴随着Spring4.0诞生的: 从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架: S ...
- mapbox-gl空间分析插件turf.js使用介绍
mapbox-gl能够方便地显示地图,做一些交互,但是缺少空间分析功能,比如绘制缓冲区.判断点和面相交等等. turf.js是一个丰富的用于浏览器和node.js空间分析库,官网 http://tur ...
- SIGAI深度学习第四集 深度学习简介
讲授机器学习面临的挑战.人工特征的局限性.为什么选择神经网络.深度学习的诞生和发展.典型的网络结构.深度学习在机器视觉.语音识别.自然语言处理.推荐系统中的应用 大纲: 机器学习面临的挑战 特征工程的 ...
- 四十八.监控概述 、 Zabbix基础 、 Zabbix监控服务
1.常用系统监控命令 查看内存信息 查看交换分区信息 查看磁盘信息 查看CPU信息 查看网卡信息 查看端口信息 查看网络连接信息 一般企业做监控的目的:实时报告系统状态,提前发现系统的问题. 监 ...
- 启动文件startup_stm32f40_41xxx.s
一.启动文件,startup_stm32f40x_41xx.s 1.定义 启动文件由汇编编写,是系统上电复位后第一执行的程序. Stack_Size EQU 0x00000400 // 栈的大小可以调 ...
- 多路IO复用模型--select, poll, epoll
select 1.select能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数并不能改变select监听文件个数 2.解决1024以下客户端时使用se ...
- 配置apt源
vim /etc/apt/source.list 配置完成后执行 apt update apt upgrade 配置完源之后,就可以在源中所有想要的包 apt search xxx 本地自带的源配目录 ...