Tốt hơn bạn nên sử dụng .aggregate()
để làm điều này. Nó cũng là một phương thức trực tiếp trên các đối tượng thu thập trong các phiên bản hiện đại của trình điều khiển:
$result = $db->collection('Profit_and_loss')->aggregate(array(
array( '$group' => array(
'_id' => '$entity_id',
'year' => array( '$max' => '$year' )
))
));
.distinct()
lệnh chỉ chạy trên một trường duy nhất. Các biểu mẫu khác yêu cầu đánh giá JavaScript như bạn đã lưu ý và chạy chậm hơn đáng kể so với mã gốc.