当前位置: 首页 > 编程笔记 >

如何在MongoDB中的两个日期之间搜索日期?

缑勇锐
2023-03-14
本文向大家介绍如何在MongoDB中的两个日期之间搜索日期?,包括了如何在MongoDB中的两个日期之间搜索日期?的使用技巧和注意事项,需要的朋友参考一下

要在MongoDB中的两个日期之间搜索日期,请使用$gte和$lt。让我们创建一个包含文档的集合-

> db.demo524.insertOne({"EndDate":new ISODate("2020-01-19")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8adbe5437efc8605595b63")
}
> db.demo524.insertOne({"EndDate":new ISODate("2020-01-20")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8adbec437efc8605595b64")
}
> db.demo524.insertOne({"EndDate":new ISODate("2020-12-31")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8adbf3437efc8605595b65")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo524.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8adbe5437efc8605595b63"), "EndDate" : ISODate("2020-01-19T00:00:00Z") }
{ "_id" : ObjectId("5e8adbec437efc8605595b64"), "EndDate" : ISODate("2020-01-20T00:00:00Z") }
{ "_id" : ObjectId("5e8adbf3437efc8605595b65"), "EndDate" : ISODate("2020-12-31T00:00:00Z") }

以下是在MongoDB中两个日期之间搜索数据的查询-

> var first = new ISODate("2020-01-04");
> var last = new ISODate("2020-01-31");
> db.demo524.find({EndDate: {$gte: first, $lt: last}});

这将产生以下输出-

{ "_id" : ObjectId("5e8adbe5437efc8605595b63"), "EndDate" : ISODate("2020-01-19T00:00:00Z") }
{ "_id" : ObjectId("5e8adbec437efc8605595b64"), "EndDate" : ISODate("2020-01-20T00:00:00Z") }
 类似资料:
  • 问题内容: 我有两个日期搜索字段,即从和到。我必须从用户表中检索其startDate位于在搜索字段中输入的起始和终止日期之间的记录,如果起始和终止日期为null,则必须从用户表中检索所有记录。 我尝试了以下hql查询: 在这里,start_flag的类型为int,如果from和to为null,则将其设置为1。 这里的数据类型是: startDt-java.util.Date endDt- java

  • 我有两个日期搜索字段,即从和到。我必须从用户表中检索记录,其startDate位于搜索字段中输入的from和to日期之间,如果from和to日期为空,我必须从用户表中检索所有记录。 我尝试了以下hql查询: 这里start_标志的类型为int,如果from和to为null,则设置为1。 这里的数据类型是: startDt-java.util.Date endDt-java.util.Date st

  • 问题内容: 在MySql数据库中有表 我的问题是,我要传递开始日期和结束日期,然后我将获得列日期,例如: 那么我将获得101,102,103 UserId的值。但是我出错了 问题答案: 这可能会更好: 也可能是保留字,对此不太确定。如果是这种情况,则您需要在其周围加反引号(前后应有一个`)

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

  • 问题内容: 我需要生成两个给定日期之间的所有日期。只要只有一个日期范围,此方法就可以正常工作。但是,如果我有多个日期范围,则此解决方案不起作用。我在这里以及Asktom上都进行了搜索,但是找不到相关的指针/解决方案。 我使用all_objects和CONNECT BY ROWNUM尝试了两种解决方案,但是没有运气。这是问题说明:sqlfiddle 输入 输出 问题答案:

  • 问题内容: 在所有三个日期都由的实例表示的情况下,如何检查某个日期是否在其他两个日期之间? 问题答案: 这可能更具可读性:

  • 问题内容: 我想要一个开始日期和结束日期之间的日期列表。 结果应为所有日期的列表,包括开始日期和结束日期。 问题答案: 一次添加一天直到达到结束日期: 实现自己的迭代器也可以做到这一点并不难,那就更好了。

  • 问题内容: 我有两个这样的表: 表格1 表2 我想从 Table1中 选择并插入 Table2中 。 例如: 在表1中,我有这个 在表2中,我想要这个 带有样本数据的表结构 问题答案: 感谢您的架构。它使处理您的问题变得容易。我对您的架构进行了一些更改以利用auto_increment 在这里,我在emp_leave_daywise表上添加了唯一约束,因为id整数上的主键不能确保记录不重复。 em