Olá, Estou com problemas para criar o objeto. Ele reporta a seguinte msg: "Cannot read property '_doc' of null - falha ao cadastrar livro"
o import foi feito de forma correta (com as {})
Olá, Estou com problemas para criar o objeto. Ele reporta a seguinte msg: "Cannot read property '_doc' of null - falha ao cadastrar livro"
o import foi feito de forma correta (com as {})
Olá, Rafael! Tudo bem?
O erro "Cannot read property '_doc' of null" ocorre porque você está tentando acessar a propriedade "_doc" de uma variável que é nula (ou seja, não possui um valor válido). No seu código, esse erro está sendo gerado na linha onde você tenta acessar autorEncontrado._doc
.
Imagino que a propriedade _doc
foi chamada pelo autocomplete, já que o autor encontrado não deveria ter essa propriedade, então retire a mesma e tente rodar esse método novamente, deve solucionar o seu problema.
Caso não solucione, peço que compartilhe todo o seu projeto, via GitHub ou Drive do Google. Assim conseguirei testar o projeto e conseguirei encontrar o seu erro mais facilmente.
Espero ter ajudado e bons estudos!
Mesmo retirando o _doc não funcionou. Segue código no git para auxilio..
Opa, Rafael! Como vai?
Analisando o seu código percebi onde estava o seu problema, além do _doc
que já comentei, no arquivo "livro.js" da pasta "models" o campo autor
você passou como tipo o schema autorSchema
, isso acaba sendo uma operação invalida e acaba ocasionando o erro.
Então para solucionar isso você deve alterar o arquivo, que comentei anteriormente, mais especificamente no campo autor
passando o tipo corretamente. O schema corrigido ficará assim:
const livroSchema = new mongoose.Schema(
{
id: { type: mongoose.Schema.Types.ObjectId },
titulo: { type: String, required: true },
editora: { type: String },
preco: { type: Number },
pagina: { type: Number },
autor: { type: mongoose.Schema.Types.ObjectId, ref: 'autores', required: true}
},
{ versionKey: false }
);
Espero ter ajudado e bons estudos!