Du er bedre til at bruge .aggregate()
at gøre dette. Det er også en direkte metode på samlingsobjekterne i moderne versioner af driveren:
$result = $db->collection('Profit_and_loss')->aggregate(array(
array( '$group' => array(
'_id' => '$entity_id',
'year' => array( '$max' => '$year' )
))
));
.distinct()
kommandoen kører kun over et enkelt felt. Andre former kræver JavaScript-evaluering, som du har bemærket, og kører betydeligt langsommere end oprindelig kode.