Database
[{"roomInfo":[{_id:"ab1",booked:3},{_id:"ab2",booked:1}],"hotelInfo":[{name:"Radison Blue",roomDetails:[{_id:"ab1",roomCount:5},{_id:"xy1",roomCount:5}]},{name:"Intercontinental",roomDetails:[{_id:"ab2",roomCount:5}]}]}]
Query
db.collection.aggregate([{$unwind:"$hotelInfo"},{$project:{name:"$hotelInfo.name","roomDetails":{$filter:{input:{$map:{input:"$hotelInfo.roomDetails",as:"info",in:{"$mergeObjects":["$$info",{"$arrayElemAt":[{$filter:{input:"$roomInfo",as:"room",cond:{$eq:["$$room._id","$$info._id"]}}},0]}]}}},as:"proccessedInfo",cond:{$ne:["$$proccessedInfo.roomCount","$$proccessedInfo.booked"]}}}}}])