当前位置: 首页 > 面试题库 >

Spring Data MongoDB搜索ISO日期

曹铭晨
2023-03-14
问题内容

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

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

而spring数据mongodb生成以下查询:

MongoTemplate:使用查询查找:

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

字段:类的空值:类com.temp.model.User集合中的用户:user

但是我没有得到任何结果。

我在mongodb中的dob字段:

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

如何搜索 ISODate格式的 dob


问题答案:

这段代码可以很好地满足您的需求:

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);


 类似资料:
  • 我正在尝试使用查询搜索出生日期 我如何才能搜索dob在等位日期格式?

  • 我有一个ISODate格式的“DateAdd”Mongo集合 所以现在是当地时间1小时后 当我尝试获取2018-08-31 06:00:00之后添加的记录时,使用以下查询,我无法获取UTC中的记录 在MongoDB中搜索日期字段时,如何转换UTC日期?

  • 问题内容: 我想知道如何使用Range-Query在Hibernate Search中按日期进行搜索,还是我必须实现任何过滤器?以下是我在Record Entity中的字段 我的要求是找到两个日期之间分析的记录,例如。2011年11月11日至2012年11月11日。我很困惑如何执行此操作。 问题答案: 您应该使用 从 和 到 的范围查询。 因为您使用 DateTools 自己创建了基于字符串的搜索

  • 我尝试创建一个查询,显示入住和退房日期之间的可用酒店。此外,当我为特定房间预订时,我将他们的预订列设置为1。这意味着,在现实生活中,当结账日期到来时,触发函数将该预订列设置成0。 如果酒店的所有房间都已预订(预订=1),并且这些房间的签入-退房日期是特定日期(签入-退房输入),则不要将该酒店放在列表中。我的查询不会显示我想要的结果。 查询:输入:国家(状态)、签入和签出。 当我运行查询时,它总是显

  • 我目前正在编写一个JavaSwing应用程序,它从MYOB数据库文件中读取数据,并在表中显示某些信息。我已经能够成功地生成所需的SQL语句,但我在添加日期之间的搜索功能时遇到了麻烦(我们的数据库相当大,所以我们试图限制结果)。下面是我的一个查询示例(用Java编写): 我有两个日期(它们实际上是Java中的字符串,但格式为dd/MM/yyyy)。 我曾尝试在我的语句中使用另一个子句,使用语句,但从

  • 我正在尝试按日期使用过滤器,如下所示。 但与使用ISO格式“2015-05-16T07:55:23.257Z”不同,spring数据mongodb生成以下查询