sql >> Databáze >  >> NoSQL >> MongoDB

Agregační dotaz MongoDB pomocí ovladače PHP

Parametr ve vašem Javascriptu je pole 4 objektů s jedním prvkem, ve vašem PHP je to asociativní pole (objekt) se 4 prvky. To by představovalo váš 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
    )
));

Navíc, pokud máte alespoň PHP5.4, můžete použít jednodušší syntaxi pole. Transformace do PHP je pak triviální, jednoduše složené závorky nahradíte hranatými závorkami a dvojtečky šipkami:

$result = $c->aggregate([
  [ '$project' => [ 'day' => ['$dayOfYear' => '$executed']  ]  ],
  [ '$group' => ['_id' => ['day' => '$day'], 'n' => ['$sum' => 1]  ] ],
  [ '$sort' => ['_id' => 1] ],
  [ '$limit' => 14 ]
]);



  1. Chyba:Nelze se připojit k Redis na redis:6379:Název nebo služba nejsou známy

  2. 5 způsobů, jak vybrat řádky s maximální hodnotou pro jejich skupinu v SQL

  3. Smyčka For v redis s asynchronními požadavky nodejs

  4. jak iterovat mongo kurzor ve smyčce v pythonu