Тайна диапазона дат агрегации

У меня такой вид монго

$date = (int)(date("YmdHis", strtotime("now -30 days")));
$date2 = (int)(date("YmdHis", strtotime("now")));    

$visits_options2 = array(
    array(
        '$match' => array(
                'date' => array('$lte'=>$date2, '$gte'=>$date),
                'click'=>1
            )
        ),
        array(
            '$group' => array(
                "_id"=>array({LOT OF FIELDS}),
                'cpc' => array('$sum' => '$cpc'),
                'visits' => array('$sum'=>1)
            )
        )
    ); 

Тайна возникает, когда (имея данные наверняка), если я использую только '$gte' на матч это работает, но если я использую оба $gte а также $lte это не так.

Любой ключ к тому, что происходит?

ОБНОВЛЕНИЕ: Хорошо, таким образом, это стало более странным. Если я использую gte + lte на консоли (точно такой же запрос) это работает. Если я использую только gte и консоль даты "сейчас" говорит, что результатов нет (работает нормально), и драйвер монго возвращает результаты, как если бы я использовал дату "-30 дней". Выглядит смешно

РЕШЕНО: Просто для тех, у кого такая же проблема, обновите драйвер Монго и все работает отлично!

0 ответов

Другие вопросы по тегам