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

相关推荐
SailingCoder4 天前
MongoDB Memory Server与完整的MongoDB的主要区别
数据库·mongodb
水木石画室4 天前
MongoDB 常用增删改查方法及示例
数据库·mongodb
旷世奇才李先生4 天前
MongoDB 安装使用教程
数据库·mongodb
qq_339282234 天前
mongodb 中dbs 时,local代表的是什么
数据库·mongodb
Accpdaiyekun4 天前
C# 操作mongodb 多次查询快还是使用管道查询速度快
mongodb·c#·lua
五_谷_丰_登14 天前
mongoDB服务本地化部署
数据库·c++·qt·mongodb
amwydadw14 天前
MongoDB 8.0.10 windows11安装记录
数据库·mongodb
熙客15 天前
MongoDB:索引
数据库·mongodb
GeekAGI15 天前
MongoDB replSetGetConfig 与 replSetGetStatus 的区别
mongodb
chxii16 天前
1.23Node.js 中操作 mongodb
mongodb·node.js