Дело в обработке ошибок. Или в том что ты не подключил роутер.
Примерный метод контроллера.
//поиск документа в котором лежит фото
exports.workerById = (req, res , next , id) =>{
Worker.findById(id)
.exec((err, worker)=>{
if(err || !worker){
return res.status(400).json({
error: "Worker not found"
})
}
req.worker = worker
next()
})
}
//Выдача фото.
exports.workerPhoto = (req,res, next) =>{
if(req.worker.photo.data){
res.set(("Content-Type", req.worker.photo.contentType))
return res.send(req.worker.photo.data)
}
next()
}
/*то есть сначало оно идет по пути user/photo/:userId
после того как находит колекцию юзера. Передает данные о нем в req и шагает дальше.
На следующем контролере мы просто выдаем фото
*/
//роутер для общей картины
router.get('/user/photo/:workerById', workerPhoto)
router.param('workerById',workerById)