Olá, Luidi. Tudo bem?
O Mongoose oferece uma forma de validar os dados antes de inseri-los, o que pode ajudar a resolver o seu problema.
Para evitar que o Mongoose faça a conversão automática de tipos e garantir que ele retorne um erro quando o tipo de dado não corresponder ao esperado, você pode utilizar a validação de tipo no seu Schema. Aqui está um exemplo de como você pode fazer isso:
const mongoose = require('mongoose');
const categoriaSchema = new mongoose.Schema({
categoria: {
type: String,
required: [true, 'O campo categoria é obrigatório'],
validate: {
validator: function(v) {
return typeof v === 'string';
},
message: props => `O campo categoria foi informado com o tipo de dado ${typeof props.value}, mas esperava uma String.`
}
}
});
const Categoria = mongoose.model('Categoria', categoriaSchema);
Com essa configuração, quando você tentar enviar um número para o campo categoria
, o Mongoose irá gerar uma mensagem de erro personalizada que você definiu, indicando que o tipo de dado não é o esperado.
Espero ter entendido e conseguido ajudar. Qualquer dúvida estou à disposição.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!