W Twoim kodzie jest wiele błędów/modyfikacji.
-
podczas wyszukiwania lepiej podać
{}
jako pierwsze wejście. -
Podczas renderowania szablonu książki używasz
books
zmienna, aby wyświetlić listę książek, ale nie wysyłasz jej z trasy. musisz wysłaćbooks
wres.render
.
Spróbuj tego:
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.
})
})