Задать вопрос
@BarneyGumble

Как передать в шаблон данные, полученные через Mongoose?

Добрый день. Если получаю данные из базы и вывожу их на страницу вот таким образом, то всё выводится нормально:

var selectedUser = User.findOne({'_id': '5991bf82b9a87a624407907e'}, (err, user) => {
    console.log('result', err, user);
    res.render("userpage.hbs", {
        username: user.username 
    });
});

Но как быть, если мне нужно вынести данные за пределы функции возврата? Потому, что такой код уже не работает, а мне нужно вывести данные именно так:

var selectedUser = User.findOne({'_id': '5991bf82b9a87a624407907e'}, (err, user) => {
    console.log('result', err, user);
});

res.render("userpage.hbs", {
    username: user.username
});
  • Вопрос задан
  • 236 просмотров
Подписаться 1 Простой Комментировать
Ответ пользователя Влад Шевченко К ответам на вопрос (2)
@Stashevich
программист
Переманная 'user' находиться в другой области видимости, поэтому второй вариант в данном виде не заработает.
Самый простой фикс - создать переменную, глобальную по отношению к этим двум вызовам функций и записать в неё все что вам нужно. А затем считать значение в функции render
Ответ написан