Database

[{outerArray:[{innerArray:[{elem:"val1"},{elem:"val2"}]},{innerArray:[{elem:"val3"},{elem:"val1"}]}]}]

Query

db.collection.aggregate([{$project:{_id:0,elem:"$outerArray.innerArray.elem"}},{$project:{elem:{$reduce:{input:"$elem",initialValue:[],in:{$setUnion:["$$value","$$this"]}}}}}])

Result