La inserción de Mangosta no crea la propiedad de esquema predeterminada

Esquema de documento de ejemplo:

var CompanySchema = Schema({
    created: { type: Date, default: Date.now },
    modified: { type: Date, default: Date.now },
    address: { type: String, required:true },
    name: { type: String, required:true }
});

Estoy usando un controlador de solicitud común para editar y crear documentos de "Empresa":

exports.upsert = function(req, res) {
    helper.sanitizeObject(req.body);
    var company = {
        name: req.body.name,
        address: req.body.address
    };
    var id = req.body.id || new mongoose.Types.ObjectId();
    var queryOptions = {
        upsert: true
    };
    Company.findByIdAndUpdate(id, company, queryOptions).exec(function(error, result) {
        if(!error) {
            helper.respondWithData(req, res, {
                data: result.toJSON()
            });
        } else {
            helper.respondWithError(req, res, helper.getORMError(error));
        }
    });
};

Pero usando este método, cuando se inserta un nuevo documento,created, modified las propiedades no se guardan con valores predeterminados deDate.now. Ahora puedo llamarCompany.create dependiendo de la existencia de una identificación, pero me pregunto por qué upsert no utiliza valores predeterminados si una propiedad no existe en un nuevo documento.

Estoy usando la versión Mongoose ~ 3.8.10,