sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB aggregeras med PHP - gruppera efter datum

Du kan projicera ut dessa delar och sedan gruppera på dem så att du kan gruppera på hela datumet:

$results = $c->aggregate(array(
    array(
      '$project' => array(
          'year' => array('$year' => '$executed' ),
          'month' => array('$month' => '$executed' ),
          'day' => array('$dayOfMonth' => '$executed')
      ),
    ),
    array(
      '$group' => array(
          '_id' => array('year' => '$year', 'month' => '$month', 'day' => '$day'),
          'count' => array('$sum' => 1)
      ),
    ),
    array(
      '$sort' => array(
          '_id.year' => 1,
          '_id.month' => 1,
          '_id.day' => 1
      ),
    ),
    array(
      '$limit' => 30
    )
));

Något sådant borde göra susen så att du kan sortera på, som du sa:$year-$month-$dayOfMonth .



  1. Installera Memcached på Ubuntu 16.04/18.04 med Nginx och PHP-7.3

  2. delar IO-objekt i flera nodinstanser

  3. Använder redis som en LRU-cache för postgres

  4. Streama MongoDB-resultat till Express-svar