¿Por qué se ignoran mis captadores y establecedores de esquema Mongoose 3.8.7?

Mientras trabajaba con Node.js, Mongoose y MongoDB, descubrí que mis captadores y establecedores de esquema Mongoose no se activan cuando realizo una consulta findOne.

Encontré un hilo antiguo que sugiere que hubo un problema con los captadores y establecedores en la versión 2.x, pero indica que desde entonces se ha resuelto y estoy usando la última versión de Mongoose (3.8.7).

Aquí hay parte de mi esquema

function testGetter(value) {
        return value + " test";
}

/**
* Schema
*/

var schema = new Schema({
        username: { type: String, required: true, unique: true, get: testGetter }
});

// I have also tried this.

schema.path('username').get(function (value, schemaType) {
        return value + " test";
});

Así es como ejecuto la consulta

Model
.findOne(conditions, fields, options)
.populate(population)
.exec(function (error, doc) {
        callback(doc, error);
});

Responde con un valor de nombre de usuario que carece de la corrección posterior de "prueba". ¿Estoy haciendo algo mal aquí? Cualquier ayuda sería muy apreciada!

Información Adicional

Este es el resultado de encontrar uno:

{
    "username": "Radius"
}

Este es el valor de schema.paths.username.getters después de aplicar una de las dos formas descritas anteriormente:

[ [Function: testGetter] ]

Respuestas a la pregunta(3)

Su respuesta a la pregunta