Une autre façon de gérer cela au niveau du schéma consiste à remplacer toJSON pour le modèle.
UserSchema.methods.toJSON = function() {
var obj = this.toObject()
delete obj.passwordHash
return obj
}
Je suis tombé sur cette question à la recherche d'un moyen d'exclure le hachage du mot de passe du json que j'ai servi au client, et select: false
a cassé ma fonction verifyPassword car elle n'a pas du tout récupéré la valeur de la base de données.