MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB groupby ordinamento distinto insieme

È meglio usare .aggregate() per farlo. È anche un metodo diretto sugli oggetti di raccolta nelle versioni moderne del driver:

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

Il .distinct() il comando viene eseguito solo su un singolo campo. Altri moduli richiedono la valutazione JavaScript come hai notato e funzionano molto più lentamente del codice nativo.