MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête agrégée MongoDB utilisant le pilote PHP

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 ]
]);