Olá Diego! Tudo bem com você?
Essa não é uma falha no Mongoose. O comportamento padrão do Mongoose é permitir que você atualize apenas os campos que estão presentes na requisição PUT. Isso significa que se você não enviar um valor para um campo obrigatório, o Mongoose simplesmente não fará nenhuma alteração nesse campo.
Para evitar essa situação e garantir que os campos obrigatórios não fiquem em branco durante uma atualização, você pode adicionar validações personalizadas ao seu Schema.
Por exemplo, poderia criar uma condição para verificar se o campo foi preenchido, caso esteja, você faz a atualização no banco, caso não, retorne um erro informando que deve ser inserido algo no campo para a atualização.
Dessa forma, se você tentar fazer uma requisição PUT sem enviar o campo "titulo" ou outro campo, o Mongoose retornará um erro informando que o campo é obrigatório.
Espero ter ajudado a esclarecer essa questão! Se tiver mais alguma dúvida, estou à disposição.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.