JavaScript unterscheidet bei den Variablennamen zwischen Groß- und Kleinschreibung. Sie haben User Modell und den User Ergebnis mit dem gleichen Namen.
Ihr Code funktioniert mit der folgenden Änderung:
User.findById(id , function (err, user) {
/* ^ use small `u` */
if (err) return handleError(err)
/* rest of your code */
Denken Sie auch daran, dass Sie weiter unten in Ihrem Code eine weitere Variable mit dem Namen user deklarieren . Sie müssen das in etwas anderes ändern.