Database

[{"type":"asdf","properties":{"Name":"First center","Code":"ABCD","Address":"Emmastr 14","City":"Rotterdam","Postcode":55968,}},{"type":"qwer","properties":{"Name":"Second center","Code":"OTHER","Address":"Havenstraat 15","City":"Rotterdam","Postcode":88767,}},{"type":"zxcv","properties":{"Name":"Third center","Code":"ABCD","Address":"Kerkstraat 16","City":"Amsterdam","Postcode":33948,}},{"type":"tyiu","properties":{"Name":"Fourth center","Code":"ABCD","Address":"Zeestraat 17","City":"Amsterdam","Postcode":56475,}}]

Query

db.collection.aggregate([{$match:{"properties.Code":"ABCD"}},{$group:{_id:"$properties.City",center:{$push:{Name:"$properties.Name",Postcode:"$properties.Postcode",Address:"$properties.Address"}}}},{$sort:{_id:1}}])

Result