Database

db={users:[{_id:ObjectId("5a934e000102030405000000"),businessName:"Lisbon FunSushiBar"},{_id:ObjectId("5a934e000102030405000001"),businessName:"Escape Room @york.dungeons.minster"},]}

Query

db.users.aggregate([{"$addFields":{"nameRange":{"$map":{"input":{"$range":[0,{"$strLenCP":"$businessName"},1]},"as":"inp","in":{"$substr":["$businessName","$$inp",1]}}}}},{"$addFields":{"businessNameBreakWords":{"$reduce":{"input":"$nameRange","initialValue":"","in":{"$cond":[{"$regexMatch":{"input":"$$this","regex":"^[A-Z]$"}},{"$concat":["$$value"," ","$$this"]},{"$cond":[{"$regexMatch":{"input":"$$this","regex":"^[.@_]$"}},{"$concat":["$$value"," ",]},{"$concat":["$$value","$$this"]}]}]}}}}},{"$project":{"businessName":1,"businessNameBreakWords":1}}])

Result