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

MongoDB groupby tri distinct ensemble

Vous feriez mieux d'utiliser .aggregate() pour faire ça. C'est aussi une méthode directe sur les objets de la collection dans les versions modernes du pilote :

$result = $db->collection('Profit_and_loss')->aggregate(array(
    array( '$group' => array(
        '_id' => '$entity_id',
        'year' => array( '$max' => '$year' )
    ))
));

Le .distinct() La commande ne s'exécute que sur un seul champ. D'autres formulaires nécessitent une évaluation JavaScript, comme vous l'avez noté, et s'exécutent considérablement plus lentement que le code natif.