JavaScript är skiftlägeskänsligt för variabelnamnen. Du har User modell och User resultat med samma namn.
Din kod kommer att fungera med följande ändring:
User.findById(id , function (err, user) {
/* ^ use small `u` */
if (err) return handleError(err)
/* rest of your code */
Tänk också på att du längre fram i din kod deklarerar en annan variabel som heter user . Du måste ändra det till något annat.