Database

[{"userID":"xxx","userType":"RESELLER","clients":[{"userID":"xxx","userType":"CLIENT","members":[{"userID":"xxx","userType":"MEMBER"},{"userID":"xxx","userType":"MEMBER"}]},{"userID":"xxx","userType":"CLIENT","members":[{"userID":"xxx","userType":"MEMBER"},{"userID":"xxx","userType":"MEMBER"}]}]},{"userID":"xxx","userType":"RESELLER","clients":[{"userID":"xxx","userType":"CLIENT","members":[{"userID":"xxx","userType":"MEMBER"},{"userID":"xxx","userType":"MEMBER"}]},{"userID":"xxx","userType":"CLIENT","members":[{"userID":"xxx","userType":"MEMBER"},{"userID":"xxx","userType":"MEMBER"}]}]}]}]

Query

db.collection.aggregate([{$project:{members:{$concatArrays:[[{"userID":"$userID","userType":"$userType"}],{$reduce:{input:"$clients",initialValue:[],in:{$concatArrays:["$$value",[{userID:"$$this.userID",userType:"$$this.userType"}],"$$this.members"]}}}]}}},{$unwind:"$members"},{$replaceRoot:{newRoot:"$members"}}])

Result