У меня есть проблема с mongo db для получения записей с использованием group by $ group в агрегатной функции по дате как «созданной», но у нас есть формат даты и времени в таблице mongoDb базы данных.
когда я запускаю запрос mongo, яполучая ошибку "невозможно преобразовать строку типа BSON в дату"
$date = date('Y-m-d',strtotime(-1 month));
$users = $this->common_model->aggregate($this->database['USER_DATA'], array(array('$match' => array('created' => array('$gte' => $date))),
array('$sort' => array('_id.created' => -1)),
array('$group' => array('_id' => array('year' => array('$year' => '$created'), 'month' => array('$month' => '$created'), 'day' => array('$dayOfMonth' => '$created')), 'count' => array('$sum' => 1))),
));
до того, как мы используем
array('$group' => array('_id' => array('created' => '$created')), 'count' => array('$sum' => 1)),
Работает, но записи не такие, как требуется для каждой группы по дате,потому что в таблице у нас есть дата и время.