Puoi modificare il comportamento predefinito a livello di definizione dello schema utilizzando select
attributo del campo:
password: { type: String, select: false }
Quindi puoi inserirlo secondo necessità in find
e populate
chiamate tramite selezione del campo come '+password'
. Ad esempio:
Users.findOne({_id: id}).select('+password').exec(...);