Se requieren múltiples errores/modificaciones en su código.
-
mientras encuentra, es mejor dar
{}
como primera entrada. -
Al representar la plantilla del libro, está utilizando
books
variable para mostrar la lista de libros, pero no la está enviando desde la ruta. necesitas enviarbooks
enres.render
.
Prueba esto:
router.route('/books')
// Create a book
.post( (req, res) => {
const book = new Book()
book.name = req.body.name
book.save( (err) => {
res.send(err)
console.log('Book created! ')
})
})
//get all books
.get((req, res) => {
Book.find({},(err, books) => {
if (err)
res.send(err)
res.render('books', {title: 'books list' , books : books})//need to send the books variable to the template.
})
})