Database

[{"name":"Tom singh","cars_owned":[{"car_id":"1"},{"car_id":"5"},{"car_id":"7"},{"car_id":"8"}],},{"name":"Josh kumar","cars_owned":[{"car_id":"7"},{"car_id":"9"},{"car_id":"1"},{"car_id":"3"}],},{"name":"Jesse nigam","cars_owned":[{"car_id":"6"},{"car_id":"7"},{"car_id":"9"},{"car_id":"3"}],},{"name":"Jordan khan","cars_owned":[{"car_id":"3"},{"car_id":"1"},{"car_id":"4"},{"car_id":"5"}]},{"name":"Jack Daniels","cars_owned":[{"car_id":"2"},{"car_id":"1"},{"car_id":"4"},{"car_id":"5"}]}]

Query

db.collection.aggregate([{$addFields:{commonCars:{$size:{$setIntersection:[["3","7","9","12","10"],"$cars_owned.car_id"]},}}},{$match:{$expr:{$and:[{$eq:[{$regexMatch:{input:"$name",regex:"^J"}},true]},{$gt:["$commonCars",0]}]}}},{$sort:{"commonCars":-1}}])

Result