Olhando aqui no forum da pra perceber que o erro que estou tendo é comum. Ao contrário do Marcos e do Júnior eu nao consegui achar de onde vem esse erro. Alguém pode me ajudar? !
segue os códigos.
=> app.js
import express from "express";
import db from "./config/dbConnect.js";
import livros from "./models/Livro.js"
db.on("error", console.log.bind(console, 'Erro de conexão'));
db.once("open", () => {
console.log('conexão com o banco feita com sucesso')
})
const app = express();
app.use(express.json());
app.get('/', (req, res) => {
res.status(200).send('Curso de Nodejs');
})
app.get('/livros', (req, res) => {
livros.find((err, livros) => {
res.status(200).json(livros)
})
})
app.get('/livros/:id', (req, res) => {
let index = buscaLivro(req.params.id);
res.json(livros[index]);
})
app.post('/livros', (req, res) => {
livros.push(req.body);
res.status(201).send('Livros cadastrado com sucesso.')
})
app.put('/livros/:id', (req, res) => {
let index = buscaLivro(req.params.id);
livros[index].titulo = req.body.titulo;
res.json(livros);
})
app.delete('/livros/:id', (req, res) => {
let { id } = req.params;
let index = buscaLivro(id);
livros.splice(index, 1);
res.send(` Livro ${id} removido com sucesso.`);
})
function buscaLivro(id) {
return livros.findIndex(livro => livro.id == id);
}
export default app;
=> dbConnect.js
import mongoose from "mongoose";
mongoose.connect("mongodb+srv://jrsrocha:********@cluster0.2iofz.mongodb.net/Alura-node");
let db = mongoose.connection;
export default db;
=> Livro.js
import mongoose from "mongoose";
const livroSchema = new mongoose.Schema(
{
id: { type: String },
titulo: { type: String, required: true },
autor: { type: String, required: true },
editora: { type: String, required: true },
numeroPaginas: { type: Number }
}
);
const livros = mongoose.model('livros', livroSchema);
export default livros;