sql >> Base de Datos >  >> NoSQL >> MongoDB

tratando de mostrar datos en jade de mongodb

Se requieren múltiples errores/modificaciones en su código.

  1. mientras encuentra, es mejor dar {} como primera entrada.

  2. 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 enviar books en res.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.
    })
  })