Конвертировать консольный агрегат MongoDB в php с массивом

мне не удается преобразовать следующую консольную команду mongoDB:

db.customers.aggregate( [
{ $group : {
_id: {
year : { $year: "$since" },
month : { $month: "$since" }
},
count: { $sum: 1 }
}
}]
);

который работает в php

$customers->aggregate(array(
'$group' => array(
'_id' => array( 'year' => array('$year' => '$since'),
'month' => array('$month' => '$since')
)
),
array(
'count' => array( '$sum' => 1 )
),
)
);

который возвращается exception: A pipeline stage specification object must contain exactly one field.
тоже уже пробовал '"$since"' без удачи

0

Решение

count поле должно быть частью group,

$customers->aggregate(array(
'$group' => array(
'_id' => array( 'year' => array('$year' => '$since'),
'month' => array('$month' => '$since')
),
'count' => array( '$sum' => 1 )
)
));
0

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

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

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