如何在每天的日期范围之间查找记录

时间:2016-09-16 06:19:27

标签: php mongodb mongodb-query

我必须在两个日期和时间之间从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

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

1 个答案:

答案 0 :(得分:0)

如果你想搜索时间,你应该存储时间戳,然后使用$ gte和$ lte opertaors:

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")
    }
})

希望这有帮助!