Database

[{course_type:1,sessions:[{start_at:"10/01/2020",end_at:"11/01/2020"},{start_at:"10/02/2020",end_at:"11/02/2020"},{start_at:"10/03/2020",end_at:"11/03/2020"}]},{course_type:2,sessions:[{start_at:"20/01/2021",end_at:"21/01/2021"},{start_at:"20/02/2021",end_at:"21/02/2021"}]}]

Query

db.collection.aggregate([{$facet:{type1:[{$match:{course_type:1}},{"$addFields":{firstSession:{"$arrayElemAt":["$sessions",0]},lastSession:{"$arrayElemAt":["$sessions",{"$subtract":[{$size:"$sessions"},1]}]}}},{$project:{course_type:1,start_at:"$firstSession.start_at",end_at:"$lastSession.end_at"}}],type2:[{$match:{course_type:2}},{$unwind:"$sessions"},{$project:{course_type:1,start_at:"$sessions.start_at",end_at:"$sessions.end_at"}}]}},{"$addFields":{merged:{"$concatArrays":["$type1","$type2"]}}},{$unwind:"$merged"},{"$replaceRoot":{"newRoot":"$merged"}}])

Result