Database

db={tasks:[{_id:"123",_user:"345",_solutions:["567","678"]}],solutions:[{_id:"567",_task:"123",_user:"345"},{_id:"678",_task:"123",_user:"345"}],users:[{_id:"345",name:"Tom"}]}

Query

db.tasks.aggregate([{$match:{_id:"123"}},{$lookup:{from:"solutions",let:{solutions:"$_solutions"},pipeline:[{$match:{$expr:{$in:["$_id","$$solutions"]}}},{$lookup:{from:"users",localField:"_user",foreignField:"_id",as:"_user"}},{$unwind:"$_user"}],as:"_solutions",}}])

Result