MongoDB获取特定日期的记录

时间:2017-12-07 11:43:05

标签: php mongodb

所以我试图获得3天的所有记录,但我一直在得到空的结果......

 public function getUnansweredDiscussionsForPeriod() {

        $where = [

            'related.theme_id' => 3455537,

            'date_added' => [
                '$gte' => new MongoDate(strtotime('-3 days')),
                '$lt' => new MongoDate(strtotime('-4 days'))
            ],

            'subscribers.1' => [
                '$exists' => false
            ],

            'satisfaction_checked' => [
                '$exists' => false
            ]
        ];
        return $this->get_all($where, ['uri','user_id']);

    }

基本上我将日期保存为ISO日期。

还要注意一件事,我尝试从函数中删除其他所有内容,看看是否有其他问题,但没有发生任何事情,结果完全一样。 ALTHO当我删除日期并保留所有内容时,它工作正常

这就是我在mongo中保存日期的方式

"date_added" : ISODate("2017-12-04T12:40:31Z")

1 个答案:

答案 0 :(得分:2)

你混淆了字段:

'date_added' => [
   '$gte' => new MongoDate(strtotime('-4 days')),
   '$lt' => new MongoDate(strtotime('-3 days'))
],

您所撰写的内容基本上是您正在寻找{3}前比{3}更新,但也超过4天前的文档