Друг начин да се справите с това на ниво схема е да замените toJSON за модела.
UserSchema.methods.toJSON = function() {
var obj = this.toObject()
delete obj.passwordHash
return obj
}
Попаднах на този въпрос, търсейки начин да изключа хеша на паролата от json, който подадох на клиента, и select: false
счупи функцията ми verifyPassword, защото изобщо не извлече стойността от базата данни.