Database

db={"recommendations":[{customerID:1,recommendations:[{bookID:1,likelihood:0.9},{bookID:2,likelihood:0.8}]},{customerID:2,recommendations:[{bookID:2,likelihood:0.9},{bookID:1,likelihood:0.8}]}],"books":[{_id:1,title:"Harry Potter"},{_id:2,title:"The maze runner"}]}

Query

db.recommendations.aggregate([{$match:{"customerID":1}},{$unwind:"$recommendations"},{$lookup:{from:"books",localField:"recommendations.bookID",foreignField:"_id",as:"recomndedBook"}},{$replaceRoot:{newRoot:{$mergeObjects:[{$arrayElemAt:["$recomndedBook",0]},"$recommendations"]}}}])

Result