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

[Dúvida] Boa tarde, acredito ter feito exatamente como na aula, porém meu get retorna um array vazio, mesmo tento dados no mongo

Boa tarde, acredito ter feito exatamente como na aula, porém meu get retorna um array vazio, mesmo tento dados no mongo

3 respostas

Estou com o mesmo problema.

Fala, pessoal. Beleza?

Então, um bom ponto de partida para resolver isso seria averiguar se ao criar o modelo 'Livro' você está fazendo a referência correta à coleção no banco de dados.

Vejam que na pasta src/models/Livro.js, há a seguinte declaração:

const livro = mongoose.model('livros', livroSchema);

Dentro da função mongoose.model, a declaração 'livros' faz referência à coleção 'livros' do banco de dados, devendo então estar igual ao nome da coleção criada no MongoDB.

No meu caso a coleção no MongoDB para livros está assim, com o nome 'livros':

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

Percebam que dentro da minha função mongoose.model minha declaração também está com o nome 'livros' igual ao mongo.

Caso dentro da função mongoose.model eu colocasse, por exemplo:

const livro = mongoose.model('livr', livroSchema);

E fizesse uma requisição get no Postman, seria retornado uma array vazia.

solução!

Consegui identificar o problema, no meu caso os dados não estão sendo persistidos em 'livraria', e sim em 'undefined', Insira aqui a descrição dessa imagem para ajudar na acessibilidade

então se realizar um post e depois um get, os dados vão ser exibidos corretamente. Isso resolveu no "meu' caso.

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