Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

"Cannot read property '_doc' of null - falha ao cadastrar livro"

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 {})

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Mesmo retirando o _doc não funcionou. Segue código no git para auxilio..

https://github.com/rafabookaa/apirest

solução!

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!