JavaScript est sensible à la casse pour les noms de variables. Vous avez User
modèle et l'User
résultat avec le même nom.
Votre code fonctionnera avec le changement suivant :
User.findById(id , function (err, user) {
/* ^ use small `u` */
if (err) return handleError(err)
/* rest of your code */
Gardez également à l'esprit que plus loin dans votre code, vous déclarez une autre variable nommée user
. Vous devrez changer cela en quelque chose de différent.