Eu estava com esse erro aparecendo pra mim após importar "livros" para "app.js" :
E:\Google Drive\Alura\Nodejs\alura-node\nodemodules\mongoose\lib\helpers\schema\idGetter.js:16 schema.virtual('id').get(idGetter);
TypeError: schema.virtual(...).get is not a function at addIdGetter (E:\Google Drive\Alura\Nodejs\alura-node\nodemodules\mongoose\lib\helpers\schema\idGetter.js:16:24)
Pesquisando, vi que o "id" usado em "livroSchema" estava causando o conflito:
const livroSchema = new mongoose.Schema(
{
id: {type: String}, // AQUI
titulo: {type: String, required: true},
autor: {type: String, required: true},
editora: {type: String, required: true},
numeroPaginas: {type: Number}
}
);
Então fiz essa alteração e voltou a funcionar:
const livroSchema = new mongoose.Schema(
{
livroId: {type: String}, //ALTEREI AQUI
titulo: {type: String, required: true},
autor: {type: String, required: true},
editora: {type: String, required: true},
numeroPaginas: {type: Number}
}
);