Database
[{"Name":"Ann","Gender":"F","GenderSearch":"M"},{"Name":"Bob","Gender":"M","GenderSearch":"F"},{"Name":"Cat","Gender":"F","GenderSearch":"F"}]
Query
db.collection.aggregate([{$lookup:{from:"collection",let:{localField:"$GenderSearch"},pipeline:[{$match:{$expr:{$eq:["$$localField","$Gender"]}}},{$project:{Name:1,_id:0}}],as:"potentialMatches"}},{$set:{potentialMatches:{$reduce:{input:"$potentialMatches",initialValue:[],in:{"$concatArrays":["$$value",["$$this.Name"]]}}}}}])