Database

[{id:1,issueDate:"07/05/2021",code:"31"},{id:2,issueDate:"12/11/2020",code:"14"},{id:3,issueDate:"02/11/2021",code:"98"},{id:4,issueDate:"01/02/2021",code:"14"},{id:5,issueDate:"06/23/2020",code:"14"},{id:6,issueDate:"07/01/2020",code:"31"},{id:7,issueDate:"07/05/2022",code:"14"},{id:8,issueDate:"07/02/2022",code:"20"},{id:9,issueDate:"07/02/2022",code:"14"}]

Query

db.collection.aggregate([{$addFields:{"season":{$switch:{branches:[{case:{$in:[{$substr:["$issueDate",0,2]},["06","07","08"]]},then:"Summer"},{case:{$in:[{$substr:["$issueDate",0,2]},["03","04","05"]]},then:"Spring"},{case:{$in:[{$substr:["$issueDate",0,2]},["12","01","02"]]},then:"Winter"}],default:"No date found."}}}},{$group:{_id:{s:"$season",c:"$code"},cnt1:{$sum:1}}},{$sort:{cnt1:-1}},{$group:{_id:"$_id.s",codes:{$push:"$_id.c"},cnt:{$sum:"$cnt1"}}},{$project:{_id:0,season:"$_id",count:"$cnt",codes:{"$slice":["$codes",2]}}}])

Result