Database

[{"item_name":"Item_1","tags":["A","B","C","D","E"]},{"item_name":"Item_2","tags":["A","B","D","E","G"]},{"item_name":"Item_3","tags":["B","C","E","H"]}]

Query

db.collection.aggregate([{$project:{_id:0,item_name:"$item_name",tags:"$tags",score:{$let:{vars:{intersection:{$setIntersection:["$tags",["B","D","G","F"]]}},in:{$size:"$$intersection"}}}}},{$sort:{score:-1}}])

Result