Database

[{"_id":NumberLong(2761632),"Sales_Options":[{"Discount_Price":[{"Sales_Week":0,"Price1":1509.15,"Price2":786.27,"Price3":722.87,},{"Sales_Week":2,"Price1":2127.83,"Price2":1375.82,"Price3":752.02,},{"Sales_Week":4,"Price1":1553.72,"Price2":828.74,"Price3":724.97,},],"Country":"UK","City":"London",},{"Discount_Price":[{"Sales_Week":5,"Price1":1553.72,"Price2":828.74,"Price3":724.97,},{"Sales_Week":6,"Price1":2127.83,"Price2":1375.82,"Price3":752.02,},{"Sales_Week":7,"Price1":1553.72,"Price2":828.74,"Price3":724.97,},],"Country":"UK","City":"Bristol",},{"Discount_Price":[{"Sales_Week":2,"Price1":1553.72,"Price2":828.74,"Price3":724.97,},{"Sales_Week":7,"Price1":2127.83,"Price2":1375.82,"Price3":752.02,},{"Sales_Week":8,"Price1":1509.15,"Price2":786.27,"Price3":722.87,},],"Country":"UK","City":"London",},],"Store":"AB","Shard":"2013.12.30_AB"}]

Query

db.collection.aggregate([{$match:{Store:{$in:["AB"]}}},{$project:{Shard:1,Store:1,Date:1,Options:{$filter:{input:{$map:{input:"$Sales_Options",as:"s",in:{City:"$$s.City",Country:"$$s.Country",Discount_Price:{$filter:{input:"$$s.Discount_Price",as:"d",cond:{$in:["$$d.Sales_Week",[2,7]]}}}}}},as:"pair",cond:{$and:[{$in:["$$pair.Country",["UK"]]},{$in:["$$pair.City",["London"]]}]}}}}}])

Result