首页 > 其他分享 >记录使用mongotemplete关于时间查询时的大坑

记录使用mongotemplete关于时间查询时的大坑

时间:2023-11-10 10:37:16浏览次数:30  
标签:00 大坑 mongotemplete 查询 使用 Date query match

1、问题:

在使用条件查询mongdb数据库的时候,涉及到使用时间范围来查询数据,比如当时使用的是:1990-01-01T00:00:00 到1900-02-02T00:00:00查询的是1月1号到1月2号两天的数据,但是在使用

Query.query(criteria);

进行查询的时候,和使用
Aggregation.match(criteria);

进行查询得出的结果不一致,通过对数据进行对比,得出正好相差8小时的数据,可以判断出query中的数据比match中的多了8小时数据。


2、解决:

通过测试得知,使用match时,如果不使用Date类型,就会被减去8,但是如果使用Date类型,query就会减去8,所以最好的方式还是在存储的时候就把使用的时间减去8。所以目前查询的时候只能是将这两个查询使用不同的时间格式进行查询。我使用的是query使用LocalDateTime,match使用Date。

标签:00,大坑,mongotemplete,查询,使用,Date,query,match
From: https://www.cnblogs.com/Silentness/p/17823518.html

相关文章

  • 聚合查询
    聚合框架MongoDB的聚合框架,可以处理进行类似于SQL的group,leftouterjoin之类的运算,只不过可以来控制执行的顺序。适应的范围目前看优势还是在分析(OLAP),当然OLTP也支持基本格式常规的用法是生成一个数组(Pipeline),然后在Pipeline里写处理的步骤(Stage),最后在表(Collection)上调用......
  • 简单查询
    计划今天要学习《06MongoDB基本操作》Mongo的连接地址格式mongodb://username:password@host[:port]/database?<options>基本操作以下都在shell环境下查看当前数据库>dbmock切换数据库>usetest查看当前表>showcollections>showtables插入一条记录>db.frui......
  • 高斯数据库HCNA之数据查询
    一、数据查询1、简单查询日常查询中,最常用的是通过FROM子句实现的查询语法格式使用方法:SELECT[,...]FROMtable_reference[,...]SELECT关键字之后和FROM子句之前出现的表达式称为SELECT项,SELECT项用于指定要查询的列,FROM指定要从哪个表中查询如果要查询所有列,可以在SE......
  • MySQL千万级数据库查询怎么提高查询效率
     查询效率慢的原因: 1:没有加索引或者索引失效  where条件使用如下语句会索引失效:null、!=、<>、or连接、in(非要使用,可用关键字exist替代)和notin、'%abc%';  使用参数:num=@num、表达式操作:wherenum/2=100、函数操作:wheresubstring(name,1,3)=‘abc’-name;   --e......
  • mybatis使用id集合查询数据
    dao层intdelUser(@Param("menuId")IntegermenuId,@Param("idList")List<String>idList);xml层<deleteid="delUser">deleteFROMuser_role_menuWHEREmenu_id=#{menuId}ANDuser_idNOTIN<f......
  • 从 SQL 查询优化技巧去看 h2 数据库查询原理 | 京东物流技术团队
    本文目标是:了解查询的核心原理,对比SQL查询优化技巧在h2database中的落地实现。前提:为了贴近实际应用,本文CodeInsight基于BTree存储引擎。数据查询核心原理数据库实现查询的原理:遍历表/索引,判断是否满足where筛选条件,添加到结果集。简单通用。对于选择表还是索引、如何遍历......
  • orcale中把查询结果是逗号多个人员的数据转换为单行,过滤重复的
    1.原本图 2.解决方法selectregexp_substr(a.numbers,'[^,]+',1,level)asnumbersfrom(selectdistinctid,numbersfromprojectwhereisdelete=0andisactive=1andnvl(objstatus,'402881e50c717307010c719745ce0009')!='402881e50c717307010c......
  • mysql 优化之开启慢查询并分析原因
      第一步.开启mysql慢查询方式一:修改配置文件my.ini增加几行:slow_query_log=on#开启慢查询日志slow_query_log_file=filename#指定日志文件保存路径,不指定的话默认在数据库文件目录下,名为hostname-slow.loglong_query_time=2#指定达到多少秒才算慢查询long-que......
  • elasticsearch在Java中查询指定列的方法
     背景ES在查询时如果数量太多,而每行记录包含的字段很多,那就会导致超出ES的查询上线,默认是100MB,但是很多场景下我们只需要返回特定的字段即可,那么如何操作呢。主要代码@AutowiredprivateRestHighLevelClientclient;publicList<Map<String,Object>>search(Stringin......
  • mybatisplus实现一次多表联查+分页查询
    众所周知,mybatisplus非常好用,但是他不好用就不好用在不可以多表联查。在mybatisplusjoin中提供了联查的方法,那个参数我没看懂Orz不过,历经千辛万苦,我通过xml终于写出来了mybatisplus也可以简单实现的多表联查!我这里是以书籍整理为例,书籍是一个单独的表,书籍类别是另一个表,通过书籍......