По-добре е да използвате .aggregate()код>
да го направя. Това също е директен метод за обектите за събиране в съвременните версии на драйвера:
$result = $db->collection('Profit_and_loss')->aggregate(array(
array( '$group' => array(
'_id' => '$entity_id',
'year' => array( '$max' => '$year' )
))
));
.distinct()
командата се изпълнява само върху едно поле. Други форми изискват оценка на JavaScript, както отбелязахте, и работят значително по-бавно от естествения код.