Er zijn meerdere fouten/aanpassingen vereist in uw code.
-
tijdens het vinden is het beter om
{}
. te geven als eerste invoer. -
Bij het renderen van de boeksjabloon gebruikt u
books
variabele om de lijst met boeken weer te geven, maar u verzendt deze niet vanaf de route. je moetbooks
verzenden inres.render
.
Probeer dit:
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.
})
})