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

相关推荐
数据与人12 小时前
mongodb报错Sort exceeded memory limit of 104857600 bytes
数据库·mongodb
赵渝强老师17 小时前
【赵渝强老师】MongoDB的数据类型
数据库·mongodb·nosql
济南java开发,求内推19 小时前
MongoDB: 升级版本至:5.0.28
数据库·mongodb
wusp19942 天前
基于vite + nodejs + MongoDB + vue2 的博客发布系统
数据库·mongodb
这儿有一堆花2 天前
JSON 与 MongoDB:直存对象的便利与隐性代价
数据库·mongodb·json
嫂子的姐夫3 天前
py连接MongoDB
数据库·爬虫·mongodb
小毅&Nora3 天前
【后端】【数据库】MongoDB存储引擎选型指南:WiredTiger如何用B+树吊打B-树
数据库·mongodb·存储引擎
鱼找水需要时间4 天前
国产银河麒麟系统安装mongodb副本集
数据库·mongodb
weixin_462446235 天前
解决MongoDB官网下载过慢问题
数据库·mongodb
ServBay6 天前
MongoDB 的文档模型与 CRUD 实战
数据库·后端·mongodb