Fazendo alguns testes com as validações criadas através dos Schemas do mongoose, percebi que elas só são aplicadas no cadastro inicial dos itens do DB (usando o método POST). Quando é feita uma alteração de cadastrado (pelo método PUT) informando valores que infringem as regras de validação dos campos, a requisição é acatada e o DB é alterado.
Por exemplo, não é possível cadastrar um novo autor informando o campo "nacionalidade" como "vazio" (devido à validação global que impede campos do tipo String de receberem valores "em branco"). Mas é possível cadastrar um autor sem informar o campo nacionalidade (já que este não é obrigatório) ou mesmo informar uma nacionalidade qualquer e, em seguida, alterar o campo "nacionalidade" para vazio (através de um PUT). A mesma lógica se aplica para os demais campos que possuem algum tipo de validação.
Minha dúvida é: existe alguma forma de aplicar essas validações estabelecidas no Schema também para o método PUT, ou é necessário construir essas mesmas validações "na mão" dentro dos métodos dos Controllers que atuam nas requisições do tipo PUT?