MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB agrupar por ordenação distinta juntos


É melhor usar .aggregate() para fazer isso. Também é um método direto nos objetos de coleção em versões modernas do driver:
$result = $db->collection('Profit_and_loss')->aggregate(array(
    array( '$group' => array(
        '_id' => '$entity_id',
        'year' => array( '$max' => '$year' )
    ))
));

O .distinct() comando só é executado em um único campo. Outros formulários requerem avaliação de JavaScript como você observou e são executados consideravelmente mais lentos que o código nativo.