MongoDBTemplate多条件查询的问题
问题:
在使用Spring Data MongoDB 进行条件查询数据时,发现条件判断不起作用,结果会返回所有的数据。
Criteria criteria = new Criteria();
criteria.where("shopId")
.is(request.getShopId())
.and("tradeDate").gte(request.getBeginTradeDate())
.lte(request.getEndTradeDate());
List<ReportInfo> reportInfoList = reportMongoTemplate.
find(new Query(criteria), ReportInfo.class,"rept_wallet_refundAndPay");
原因:
经过查看文档和源代码才发现,Criteria的where方法是一个静态工厂方法,它会返回一个实例化的criteria对象,所以就不需要自己new 一个criteria对象了。否则
find(new Query(criteria)里的criteria没有任何判断条件,因此会返回所有的数据。
MongoTemplate 源码
public static Criteria where(String key) {
return new Criteria(key);
}
修改
Criteria criteria = Criteria.where("shopId")
.is(request.getShopId())
.and("tradeDate").gte(request.getBeginTradeDate())
.lte(request.getEndTradeDate());
List<ReportInfo> reportInfoList = reportMongoTemplate.
find(new Query(criteria), ReportInfo.class,"rept_wallet_refundAndPay");
总结:
还是要看官方的文档和源代码
MongoDBTemplate多条件查询的问题的更多相关文章
- jqGrid jqGrid分页参数+条件查询
HTML <div class="row"> <div class="col-sm-20"> <form id="for ...
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...
- Oracle学习总结_day03_day04_条件查询_排序_函数_子查询
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...
- [NHibernate]条件查询Criteria Query
目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...
- PHP-----练习-------租房子-----增删改查,多条件查询
练习-------租房子-----增删改查,多条件 一 .题目要求: 二 .做法: [1]建立数据库 [2]封装类文件------DBDA.class.php <?php class DBDA ...
- 【Java EE 学习 17 下】【数据库导出到Excel】【多条件查询方法】
一.导出到Excel 1.使用DatabaseMetaData分析数据库的数据结构和相关信息. (1)测试得到所有数据库名: private static DataSource ds=DataSour ...
- SpringMVC整合Hibernate实现增删改查之按条件查询
首先我贴出我项目的结构,只完成了条件查询的相关代码,增删改没有写. 1.新建一个动态Web工程,导入相应jar包,编写web.xml配置文件 <context-param> <par ...
- EasyUI ComboGrid的绑定,上下键和回车事件,输入条件查询
首先我们先看一下前台的绑定事件 1.先定义标签 <input id="cmbXm" type="text" style="width: 100p ...
- MySQL数据库6 -查询基础,简单查询,条件查询,对查询结果排序
一.SELECT语句 SELECT COL1,COL2,....COLn FROM TABLE1,TABLE2,....TABLEn [WHERE CONDITIONS] -- 查询条件 [GROUP ...
随机推荐
- AFNetworking 2.0 Tutorial
Update 1/18/2014: Fully updated for iOS 7 and AFNetworking 2.0 (original post by Scott Sherwood, upd ...
- UVa11988 Broken Keyboard(练习链表使用)
向量和数组的优势是可以随机的存取元素和在末尾添加删除元素,而当插入元素时,需要移动大量的数据,消耗大量的时间.而链表的优势是可以在O(1)删除和插入数据.所以在频繁移动元素时,可以使用链表. 分析:如 ...
- 修改Tomcat标题栏内容
你是否遇到过在一个OS任务栏中同时打开多个Tomcat启动程序窗口,这种情况下你会无法区分具体是哪个窗口启动哪个程序,以下方式可以实现Bat启动程序标题栏自定义. 打开Tomcat的Bin目录中,打开 ...
- java的Commons包简介
http://mxdxm.iteye.com/blog/758453 Jakarta Commons是Jakarta的一个子项目,目的是创建和维护独立于其他框架和产品的程序包(packages).Ja ...
- 15个最受欢迎的Python开源框架(转载)
一.Django: Python Web应用开发框架 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理 ...
- 20160208.CCPP体系具体解释(0018天)
程序片段(01):main.c 内容概要:PointWithOutInit #include <stdio.h> #include <stdlib.h> //01.野指针具体解 ...
- [Angular] Angular ngSwitch Core Directive In Detail
When want to display different component based on some conditions: <div class='course-category' [ ...
- PS 文字有锯齿怎么办
1 可以在矢量绘图软件里面做,就没有锯齿了,画好之后导入到PS即可. 2 可以把PSD文件的像素值变大一些,比如调成500像素/英寸,但是这样会导致做出来的东西体积比较大,所以最好还是学会矢量绘图.
- Sql Server 表分区(转)
什么是表分区 一般情况下,我们建立数据库表时,表数据都存放在一个文件里. 但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件放在 ...
- <转>创建支持eclipse的多模块maven项目
如何使用eclipse创建Maven工程及其子模块 1,首先创建一个父类工程 子模块继承父类工程 并在父类工程的pom.xml文件中定义引入的jar及其版本号 子模块可以引用 2 ...