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

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

$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 дней». Выглядит смешно

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

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]