Как заставить отображать элементы базы данных в ejs / html, используя Nodejs / mongodb / mon goose? - PullRequest
0 голосов
/ 29 марта 2020

Nodejs / Пн go / Пн goose База данных может получить и отобразить на странице, но я не могу заставить его отображать элементы в html, то есть в табличном формате.

Вот создание базы данных, которая работает

app.post('/insert',   require('connect-ensure-login').ensureLoggedIn(),
function(req, res, next) {

 let name = req.user.username;

      Order.create({
              name: name,
            })
            .then(user => res.send(user))
            .catch(err => res.send(err));
            res.redirect('/');
    });

Это сервер. js, который работает, отображая элементы базы данных на пустой странице заказов.

  app.get('/orders',
      function(req, res) {

     let name = req.user.username;

        Order.findOne( {name: name })
           .then(user => res.send(user))
            .catch(err => res.send(err));
        });

Я попробовал следующее на сервере. js

  app.get('/orders',
    require('connect-ensure-login').ensureLoggedIn(),
    function(req, res){
      res.render('orders', { user: req.user });
    });

А в ejs / html

  <tr>
        <td>Style</td>
        <td><%= name %></td>
    </tr>

Но получаю ошибку "имя не определено".

Что делать мне нужно сделать, чтобы отобразить элементы в html? Как определить переменную имени?

1 Ответ

0 голосов
/ 29 марта 2020

Имя переменной при доступе к ней в файле e js должно совпадать с тем, что вы передали в функцию рендеринга. Код будет выглядеть (e js):

<tr>
        <td>Style</td>
        <td><%= user %></td>
    </tr>

...