Le paramètre dans votre Javascript est un tableau de 4 objets avec un élément chacun, dans votre PHP c'est un tableau associatif (objet) avec 4 éléments. Cela représenterait votre Javascript :
$result = $c->aggregate(array(
array(
'$project' => array(
'day' => array('$dayOfYear' => '$executed')
),
),
array(
'$group' => array(
'_id' => array('day' => '$day'),
'n' => array('$sum' => 1)
),
),
array(
'$sort' => array(
'_id' => 1
),
),
array(
'$limit' => 14
)
));
De plus, si vous avez au moins PHP5.4, vous pouvez utiliser une syntaxe de tableau plus simple. La transformation en PHP est alors triviale, il vous suffit de remplacer les accolades par des crochets et les deux-points par des flèches :
$result = $c->aggregate([
[ '$project' => [ 'day' => ['$dayOfYear' => '$executed'] ] ],
[ '$group' => ['_id' => ['day' => '$day'], 'n' => ['$sum' => 1] ] ],
[ '$sort' => ['_id' => 1] ],
[ '$limit' => 14 ]
]);