JavaScript е чувствителен към имената на променливите. Имате User
модел и User
резултат със същото име.
Вашият код ще работи със следната промяна:
User.findById(id , function (err, user) {
/* ^ use small `u` */
if (err) return handleError(err)
/* rest of your code */
Също така имайте предвид, че по-нататък във вашия код вие декларирате друга променлива с име user
. Ще трябва да промените това на нещо различно.