Senbonzakuraa
@Senbonzakuraa
Начинаю начинать

Как передать данные сессии во view?

Правильно ли я понимаю, что при использовании логина с помощью passport и создания express сессии у меня выходит вот такая сессия:

Session {
  cookie: { path: '/', _expires: null, originalMaxAge: null, httpOnly: true },
  flash: {},
  passport: { user: '5e5fd30277b47f2c6838e070' }
}

и чтоб вывести данные сессии во view, мне нужно сделать middleware который будет брать user id из сессии и забирать модель юзера из монго а потом можно отдавать данные модели в шаблон? Только как его передать таким образом чтоб я мог юзать его во всех представлениях?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
@Che603000
c 2011 javascript
В каждый шаблон передается отдельно, если это необходимо
router('/user', (req, res, next) =>{
 const {userId} = req.session; // здесь могу ошибаться посмотрите док password...
 User.findById(userId)  // model User в mongoose
   .then(user=>{
     const viewModel ={
       user,  //user для этой сессии
       ...      // что то еще нужное
     };
     res.render('view-user', viewModel)
  })
  .catch(err=>next(err);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы