Database

[{"name":"star1","active":1,"address":[{"id":1,"city":"newyork"},{"id":2,"city":"sydney"}]},{"name":"star2","active":2,"address":[{"id":1,"city":"newyork"},{"id":2,"city":"london"}]}]

Query

db.collection.aggregate([{"$addFields":{"address":{"$filter":{"input":"$address","as":"a","cond":{$and:[{$eq:["$$a.id","$active"]},{$eq:["$$a.city","newyork"]}]}}}}},{$match:{address:{$ne:[]}}}])

Result