Database

[{"source":"Chennai","destination":"Kolkata","flights":[{"flightId":"E6-2145","seatsAvailable":10,"fare":[{"travelClass":"Economy","baseFare":3588},{"travelClass":"Business","baseFare":9999}]}]}]

Query

db.collection.aggregate([{$unwind:"$flights"},{$match:{"flights.fare":{$elemMatch:{travelClass:"Economy",baseFare:{$lt:3800}}}}},{$set:{"flights.fare":{$map:{input:"$flights.fare",as:"fare",in:{$cond:{if:{$and:[{$eq:["$$fare.travelClass","Economy"]},{$lt:["$$fare.baseFare",3800]}]},then:{$mergeObjects:["$$fare",{baseFare:3800}]},else:"$$fare"}}}}}}])

Result