Във вашия код има множество грешки/необходими модификации.
-
докато намирате, по-добре е да дадете
{}
като първи вход. -
Когато изобразявате шаблона за книга, вие използвате
books
променлива за показване на списък с книги, но не го изпращате от маршрута. трябва да изпратитеbooks
вres.render
.
Опитайте това:
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.
})
})