查找两个日期之间的对象以及特定时间MongoDB

时间:2015-04-28 13:37:30

标签: mongodb date datetime mongodb-query

我一直在尝试过滤在特定日期范围内创建的所有对象以及特定时间范围。 例如:考虑以下方案 如果以下是我的过滤器的开始日期,结束日期,开始时间和结束时间。 startDate:23/01/2015 endDate:25/01/2015 startTime:10:00:00结束时间:16:00:00

所以我需要过滤在startDate(23/01/2015)和endDate(25/01/2015)之间创建的所有对象。创建时间也应该在startTime(10:00:00)和endTime(16:00:00)之间。 因此,在2015年1月24日但在09:00:00创建的对象将不会根据我的用例进行过滤。

是否有任何mongo查询可以实现相同的位置,我们可以分别传递日期和时间。如果不善意建议一些解决方法。

1 个答案:

答案 0 :(得分:0)

for (var d = new Date(2015, 0, 23, 10, 00, 00); d <= new Date(2015, 0,25,16,00,00); d.setDate(d.getDate() + 1)) {
    var d1 = d.setHours(d.getHours()+6);
    db.coll.find({createdDate:{$gte:d, $lte:d1}})
}