【问题标题】:How to find records between date range on per day basis如何每天查找日期范围之间的记录
【发布时间】:2016-09-16 06:19:27
【问题描述】:

我必须在两个日期和时间之间从 mongoDB 获取记录。但我想每天记录。当我将日期范围的记录与时间相匹配时,例如我的日期范围从 2016-08-01 08:00:00 到 2016-08-15 20:00:00。所以我想记录代表每天的记录,例如

from 2016-08-01 08:00:00 to 2016-08-01 20:00:00
from 2016-08-02 08:00:00 to 2016-08-02 20:00:00
.
.
.
.
from 2016-08-15 08:00:00 to 2016-08-15 20:00:00

请建议如何找到此解决方案。

【问题讨论】:

  • 您能否还添加数据库结构和一些示例记录,以便更好地了解您想要实现的目标。

标签: php mongodb mongodb-query


【解决方案1】:

如果您还想按时搜索,则应存储时间戳,然后使用 $gte 和 $lte 操作符:

db.collectionName.find({datestart:{$gte: 'start_time_of_day', $lt: 'end_time_of_day'}});

另一个解决方案如果你想像你存储的那样搜索日期是:

db.collectionName.find({
    created_at: {
        $gte: ISODate("2016-05-10T00:00:00.000Z"),
        $lt: ISODate("2016-05-11T00:00:00.000Z")
    }
})

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2012-01-20
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多