Database
[{"_id":1,"name":"Type A","version":1},{"_id":2,"name":"Type B","version":1},{"_id":3,"name":"Type B","version":2},{"_id":4,"name":"Type B","version":3},{"_id":5,"name":"Type C","version":1},{"_id":6,"name":"Type C","version":2},{"_id":7,"name":"Type A","version":2},{"_id":8,"name":"Type B","version":4},{"_id":9,"name":"Type A","version":3},{"_id":10,"name":"Type B","version":5}]
Query
db.collection.aggregate([{$sort:{version:-1}},{$group:{_id:"$name",root:{$first:"$$ROOT"}}},{$replaceRoot:{newRoot:"$root"}}])