A razão pela qual não estava funcionando era porque eu estava usando um método de seta. Eu tive que torná-lo uma função normal:
userSchema.methods.setPassword = function (password) {
A razão é porque as funções de seta tratam
this
diferente das funções normais. Consulte o seguinte para obter mais detalhes:http://exploringjs.com/es6/ch_arrow-functions.html