Database

[{"_id":ObjectId("63920f965d15e98e3d7c450c"),name:"Team A",players:[{name:"Michael",position:"Goalkeeper"},{name:"Frank",position:"Defender"}]},{"_id":ObjectId("63920f965d15e98e3d7c450d"),name:"Team B",players:[{name:"MichaelB",position:"Goalkeeper"},{name:"FrankB",position:"Defender"},{name:"MichaelC",position:"Goalkeeper"},]}]

Query

db.collection.aggregate([{$project:{players:{$filter:{input:"$players",cond:{$eq:["$$this.position","Goalkeeper"]}}},_id:0}},{$group:{_id:0,players:{$push:"$players"}}},{$project:{_id:0,players:{$reduce:{input:"$players",initialValue:[],in:{$concatArrays:["$$value","$$this"]}}}}}])

Result