У меня есть агрегат MongoDB
в PHP
, определенный как:
$results = $c->aggregate(array(
array(
'$project' => array(
'year' => array('$year' => array('$add' => array('$executed.getTime()', 3600))),
'month' => array('$month' => array('$add' => array('$executed.getTime()', 3600))),
'day' => array('$dayOfMonth' => array('$add' => array('$executed.getTime()', 3600)))
),
),
array(
'$group' => array(
'_id' => array('year' => '$year', 'month' => '$month', 'day' => '$day'),
'count' => array('$sum' => 1)
),
),
array(
'$sort' => array(
'_id' => 1
),
),
array(
'$limit' => 30
)
));
Проблема в том, что агрегатная функция $add
в $project
не работает.
exception: the $year operator does not accept an object as an operand
Как правильно добавить произвольное количество секунд в поле даты/времени $executed
?
Спасибо.
$executed
— это имя поля, дата/время MongoDB BSON. - person Justin   schedule 28.01.2013$add
еще не поддерживает даты. Хм, вам нужно найти другой способ обойти это. - person Sammaye   schedule 29.01.2013