春季数据 mongodb 搜索 ISO 日期

2022-09-04 02:11:05

我正在尝试使用查询搜索出生日期

criteria = Criteria.where("dob").lte(new DateTime().toDate());

和春天的数据 mongodb 生成以下查询:

MongoTemplate: find using query:

{ "dob" : { "$lte" : { "$date" : "2015-05-16T07:55:23.257Z"}}}

字段:类为空:类 com.temp.model.集合中的用户:用户

但我没有得到任何结果。

我在 mongodb 中的 dob 字段:

{"dob" : ISODate("1991-01-23T00:00:00Z")}

如何搜索 ISODate 格式的 dob


答案 1

此代码应该可以很好地满足您的需求:

criteria = Criteria.where("dob").lte(new java.util.Date());

我的测试是使用以下代码,它确实工作正常:

Lis<User> users = mongoOps.find(query(where("isActive").is(true).and("CreatedDate").lte(new java.util.Date())), User.class);

答案 2

查询将从春季数据mongodb0完美地执行

{ “dob” : { “$lte” : { “$date” : “2015-05-16T07:55:23.257Z”}}}.

但它不会从 mongo CLI 执行。

要在 cli 上执行的查询。

{dob:ISODate(“2015-05-15T07:55:23.257Z”)}

谢谢