Database
[{"_id":{"$oid":"62a3673660e2f16c7a7bc088"},"merchant":{"$oid":"62a3640560e2f16c7a7bc078"},"title":"24 Test 1","filter_conditions":{"city":["AAA","BBB","CCC","DDD"],"state":[],"pincode":["12345"]}},{"_id":{"$oid":"62a3673660e2f16c7a7bc089"},"merchant":{"$oid":"62a3640560e2f16c7a7bc079"},"title":"24 Test 2","filter_conditions":{"city":["AAA","BBB"]}}]
Query
db.collection.aggregate([{$set:{"filter_conditions.pincode":{$ifNull:["$filter_conditions.pincode",[]]},"filter_conditions.city":{$ifNull:["$filter_conditions.city",[]]},"filter_conditions.state":{$ifNull:["$filter_conditions.state",[]]}}},{$set:{grade:{$max:[{$multiply:[{$size:{$filter:{input:"$filter_conditions.pincode",as:"item",cond:{$eq:["$$item","12345"]}}}},100]},{$multiply:[{$size:{$filter:{input:"$filter_conditions.city",as:"item",cond:{$eq:["$$item","BBB"]}}}},10]},{$multiply:[{$size:{$filter:{input:"$filter_conditions.state",as:"item",cond:{$eq:["$$item","AL"]}}}},1]}]}}},{$sort:{grade:-1}},{$limit:1}])