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.