记录使用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。

相关推荐
数据知道4 小时前
《深入掌握MongoDB数据库》 - 专栏介绍和目录
网络·数据库·mongodb
暖阳常伴6 小时前
Windows安装MongoDB
数据库·windows·mongodb
数据知道9 小时前
MongoDB原子操作边界:理解单文档事务与多文档事务的适用场景
数据库·mongodb
数据知道9 小时前
MongoDB多对多关系设计:构建高效关联查询的解决方案
数据库·mongodb
深念Y9 小时前
记一个BUG:Trae里MongoDB和MySQL MCP不能共存
数据库·mysql·mongodb·ai·bug·agent·mcp
数据知道9 小时前
MongoDB地理位置数据处理:GeoJSON格式与空间查询技巧
数据库·mongodb
数据知道10 小时前
MongoDB大数据文档设计:处理超过16MB文档的实用策略
数据库·mongodb
数据知道1 天前
MongoDB聚合管道性能优化:阶段重排与内存使用控制策略
数据库·mongodb·性能优化
数据知道1 天前
MongoDB热点数据识别:提升访问速度的缓存策略与实现
数据库·mongodb·缓存
数据知道1 天前
MongoDB查询执行计划解读:executionStats详细分析与性能诊断
数据库·mongodb