Database
db={"doctors":[{_id:"111",hospitals:[{_id:"221",hospital:"331"},{_id:"222",hospital:"332"}]}],"weekdays":[{_id:"331",hospitalId:"441",fee:"800"},{_id:"332",hospitalId:"442",fee:"1000"}],"hospitals":[{_id:"441",hospitalName:"ABC"},{_id:"442",hospitalName:"ABC"}]}
Query
db.doctors.aggregate([{$lookup:{from:"weekdays",localField:"hospitals.hospital",foreignField:"_id",as:"hospitals"}},{"$unwind":"$hospitals"},{$lookup:{from:"hospitals",localField:"hospitals.hospitalId",foreignField:"_id",as:"hospitals.hospital"}},{"$unwind":"$hospitals.hospital"},{"$group":{"_id":"$_id","hospitals":{"$push":"$hospitals"}}}])