Database

[{cost:1,productCode:"A"},{cost:2,productCode:"A"},{cost:3,productCode:"B"},{cost:4,productCode:"A"},{cost:5,productCode:"B"},{cost:6,productCode:"A"},{cost:7,productCode:"C"},{cost:8,productCode:"C"},{cost:9,productCode:"D"},{cost:10,productCode:"D"},]

Query

db.collection.aggregate([{$match:{productCode:{$in:["A","B","C"]}}},{$sort:{productCode:1,cost:-1}},{$group:{_id:"$productCode",cost:{$first:"$cost"}}},{$project:{productCode:"$_id",cost:1,_id:0}},{$sort:{productCode:1}},])

Result