呈现用户 ID ExpressJS

Rendering User ID ExpressJS

目前正在使用 mongoose 在仪表板上呈现管理员和用户信息,但是我似乎无法呈现用户的 ID

这是我的代码

function ensureAuthenticated(req, res, next){
  if(req.isAuthenticated()){
    return next();
  } else {
    req.flash('error_msg', 'You are not logged in');
    res.redirect('/dashboard/login');
  }
}

/* GET Dashboard page. */
router.get('/dashboard', ensureAuthenticated, (req, res) => {
  User.find({}, function(err, users) {
    res.render('dashboard/index.hbs', {
      pageTitle: 'Dashboard',
      total: users.length,
      users: users
    });
  });
});
<a href="/dashboard/users/{{_id}}">My profile</a>

向回购协议中的问题添加了一些代码。添加了 ensureAuthenticated 功能。据我所见,模型和所有内容都已正确设置,例如 total 正确呈现,因此它得到 users.

当您调试您拥有的 req 时,某些东西(我怀疑是 Passport)直接在其中包含一个用户变量,因此您可以将其输入到您的视图中。

/* GET Dashboard page. */
router.get('/dashboard', ensureAuthenticated, (req, res) => {
  User.find({}, function(err, users) {
    res.render('dashboard/index.hbs', {
      pageTitle: 'Dashboard',
      total: users.length,
      users: users,
      currentUser: req.user
    });
  });
});

在你看来你可以使用它

<a href="/dashboard/users/{{currentUser._id}}">My profile</a>