У меня такой вид монго
$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 дней». Выглядит смешно
РЕШИТЬ: Просто для тех, у кого такая же проблема, обновите драйвер Монго и все работает отлично!
Задача ещё не решена.
Других решений пока нет …