Database

[{"id":"101","userName":"John","date":"2023-03-20"},{"id":"102","userName":"Deo","date":"2023-01-11"},{"id":"102","userName":"Yeh","date":"2023-1-11"},{"id":"103","userName":"Swim","date":"2021-11-14"},{"id":"104","userName":"Piter","date":"2021-06-21"},{"id":"105","userName":"yogo","date":"2021-10-05"}]

Query

db.collection.aggregate([{$project:{year:{$year:{$toDate:"$date"}},id:1,userName:1,date:1}},{$group:{_id:"$year",documents:{$push:{id:"$id",userName:"$userName",date:"$date"}}}},{$sort:{_id:1}}])

Result