Database
[{source:"A",title:"title1",link:"link1",date:ISODate("2020-01-01")},{source:"A",title:"title2",link:"link1",date:ISODate("2020-01-02")},{source:"A",title:"title1",link:"link1",date:ISODate("2020-01-03")},{source:"A",title:"title1",link:"link1",date:ISODate("2020-01-04")},{source:"B",title:"title1",link:"link1",date:ISODate("2020-01-01")},{source:"B",title:"title2",link:"link1",date:ISODate("2020-01-02")},{source:"B",title:"title1",link:"link1",date:ISODate("2020-01-03")},{source:"B",title:"title1",link:"link1",date:ISODate("2020-01-04")},{source:"C",title:"title1",link:"link1",date:ISODate("2020-01-01")},{source:"C",title:"title2",link:"link1",date:ISODate("2020-01-02")},{source:"C",title:"title1",link:"link1",date:ISODate("2020-01-03")},{source:"C",title:"title1",link:"link1",date:ISODate("2020-01-04")},{source:"D",title:"title1",link:"link1",date:ISODate("2020-01-01")},{source:"D",title:"title2",link:"link1",date:ISODate("2020-01-02")},{source:"D",title:"title1",link:"link1",date:ISODate("2020-01-03")},{source:"D",title:"title1",link:"link1",date:ISODate("2020-01-04")},]
Query
db.collection.aggregate([{$sort:{date:-1}},{$group:{_id:"$source",data:{$first:"$$ROOT"}}},{"$replaceRoot":{"newRoot":"$data"}}])