JavaScript is hoofdlettergevoelig wat betreft de namen van variabelen. Je hebt User
model en de User
resultaat met dezelfde naam.
Uw code werkt met de volgende wijziging:
User.findById(id , function (err, user) {
/* ^ use small `u` */
if (err) return handleError(err)
/* rest of your code */
Houd er ook rekening mee dat u verderop in uw code een andere variabele declareert met de naam user
. Je zult dat moeten veranderen in iets anders.