Database

[{"userid":"user1","addresses":[{"type":"abc","street":"xyz"},{"type":"def","street":"www"},{"type":"hhh","street":"mmm"},]},{"userid":"user2","addresses":[{"type":"abc","street":"ccc"},{"type":"def","street":"zzz"},{"type":"hhh","street":"yyy"},]}]

Query

db.collection.aggregate([{$match:{userid:"user1","addresses.type":"abc"}},{$project:{userid:1,address:{$filter:{input:"$addresses",as:"a",cond:{$eq:["$$a.type","abc"]}}}}},{$unwind:"$address"},{$project:{userid:1,street:"$address.street",_id:0}}])

Result