A nova versão do Mongoose não aceita retornos por callback, sendo assim é aconselhado pelos desenvolvedores da lib o uso de async/await. Logo, se você confeccionar seu app.get exatamente como a instrutora diz, sem ter utilizado a versão apresentada no curso, provavelmente encontrará erros no retorno. (empty array, p.ex)
Para resolver isso, basta alterar o código do app.get() - bem como os demais metodos http - da seguinte forma:
app.get('/livros', async (req, res) => {
try {
const livrosResultado = await livros.find();
res.status(200).json(livrosResultado);
} catch (error) {
console.error('Error fetching books:', error);
res.status(500).json({ error: 'Erro ao resgatar o livro' });
}
});
Quanto ao connect(), em dbConnect.js, SUGIRO a string abaixo para quem instalou direto a última versão:
mongoose.connect("mongodb+srv://<BANCO>:<SENHA>@cluster0.zkin2au.mongodb.net/alura-node?retryWrites=true&w=majority");
Bons estudos!