Quando adicionei o autor no models. Apresentou o seguinte erro: "OverwriteModelError: Cannot overwrite autores
model once compiled."
Quando adicionei o autor no models. Apresentou o seguinte erro: "OverwriteModelError: Cannot overwrite autores
model once compiled."
Olá Marcelo! Tudo bem?
Esse erro "OverwriteModelError: Cannot overwrite autores
model once compiled." ocorre quando o Mongoose tenta redefinir um modelo que já foi definido anteriormente. Isso geralmente acontece quando você tenta definir o mesmo modelo mais de uma vez no seu código.
Para resolver esse problema, você pode verificar se está importando o modelo Autor
em mais de um lugar e, caso necessário, ajustar para que o modelo seja definido apenas uma vez. Uma prática comum é utilizar mongoose.models
para verificar se o modelo já está definido antes de criá-lo novamente. Aqui está um exemplo de como você pode fazer isso:
import mongoose from 'mongoose';
const autorSchema = new mongoose.Schema({
nome: { type: String, required: true },
nacionalidade: { type: String, required: true }
}, { versionKey: false });
const autor = mongoose.models.autores || mongoose.model('autores', autorSchema);
export { autor, autorSchema };
Esse código verifica se o modelo autores
já existe em mongoose.models
. Se ele já existir, ele usa o modelo existente; caso contrário, ele cria um novo modelo.
Espero que isso ajude a resolver o seu problema e bons estudos!