Database

[{folder:"A",name:"Apple",color:"red"},{folder:"A",name:"Banana",color:"green"},{folder:"A",name:"Apple",color:"yellow"},{folder:"B",name:"Cherry",color:"green"}]

Query

db.collection.aggregate([{$group:{_id:{folder:"$folder",name:"$name"},files:{$push:"$$ROOT"},},},{"$group":{"_id":"$_id.name","files":{$push:{"{ThisMustBeTheName}":"$files"}},}}])

Result