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

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。

相关推荐
!!!5254 小时前
Spring Boot 整合 MongoDB:分页查询详解 (新手友好)
spring boot·后端·mongodb
爱的叹息9 小时前
Spring Boot 集成 MongoDB 时自动创建的核心 Bean 的详细说明及表格总结
spring boot·后端·mongodb
!!!52512 小时前
Spring Boot MongoDB 分页工具类封装 (新手指南)
spring boot·后端·mongodb
!!!52515 小时前
MongoDB 新手笔记
数据库·笔记·mongodb
Mr.Java.15 小时前
Spring Boot MongoDB自定义连接池配置
java·spring boot·后端·mongodb
创码小奇客1 天前
MongoDB:数据库界的 “狂野西部牛仔”
java·mongodb·trae
王佑辉2 天前
【mongodb】mongodb和MySQL体系结构的对比
mysql·mongodb
爱的叹息2 天前
Redis 与 MongoDB 对比分析
数据库·redis·mongodb
maybe02092 天前
使用 node.js 和 MongoDB 编写一个简单的增删改接口 demo
前端·数据库·mongodb·node.js
spongeB3 天前
使用docker 创建MongoDB副本集配置完整指南
mongodb·docker·容器