Puede cambiar el comportamiento predeterminado en el nivel de definición del esquema usando select
atributo del campo:
password: { type: String, select: false }
Luego puede extraerlo según sea necesario en find
y populate
llamadas mediante selección de campo como '+password'
. Por ejemplo:
Users.findOne({_id: id}).select('+password').exec(...);