Node.js 尝试使用jade布局创建自定义用户配置文件时出错?

Node.js 尝试使用jade布局创建自定义用户配置文件时出错?,node.js,mongodb,session-cookies,pug,Node.js,Mongodb,Session Cookies,Pug,我想做一个基本的用户配置文件,每个用户登录后都会有所不同。 寻求建议/帮助,找出这不起作用的原因。我正在使用nodejs和mongodb。目前,我正在存储用户登录后的会话(我想是这样的): var Session = require('connect-mongo')(connect); app.use(express.session({ secret: 'settings.cookie_secret', store: new Session({ url: 'm

我想做一个基本的用户配置文件,每个用户登录后都会有所不同。 寻求建议/帮助,找出这不起作用的原因。我正在使用nodejs和mongodb。目前,我正在存储用户登录后的会话(我想是这样的):

var Session = require('connect-mongo')(connect);

app.use(express.session({ 
    secret: 'settings.cookie_secret',
    store: new Session({
        url: 'mongodb://localhost/test5',
        maxAge: 300000
    })
}));
如果此步骤错误,请解释

然后我在这里得到了我的翡翠档案:

extends layout

block content
div.centerContent
    - if (locals.user)
    p Welcome #{user.email}
    - else 
    p Welcome
我的路线文件

var User = require('../models/user.js');
var passport = require('passport');

exports.register = function(req, res) {
res.render('register', {title: 'Weblio'});
};

exports.registerThanks = function(req, res) {
res.render('registerThanks', {title: 'Weblio'});
};
exports.registerError = function(req, res) {
res.render('registerError', {title: 'Weblio'});
};

exports.registerPost = function(req, res, next) {
console.log("here 1");
if(req.body && req.body.email && req.body.password === req.body.cpassword) {
    var newUser = new User ({
        firstName: req.body.firstName,
        lastName: req.body.lastName,
        email: req.body.email,
        password: req.body.password,
        phone: req.body.phone,
        birthday: new Date(req.body.birthday) 
    });
    newUser.save(function(err){
        console.log("here 3");
        if(!err) {
            console.log("here3a");
            res.redirect('registerThanks'); 
        } else {
            {email: {$exists: true}};
            console.log("here 4");
            res.redirect('registerError');
    /*} else {

            console.log(email);
            console.log('email exists');
            res.redirect('registerError');
            next(err);
        }; */
        //removed next(err); from above else and now it does not show dup key error
    }
});
} else {
    console.log("here 1a");
    next(new Error('Incorrect POST'));
    res.redirect('registerError');
}
};

exports.login = function(req, res) {
res.render('login', {user: req.user, title: 'Weblio'});
};

exports.loginPost = function(req, res, next) {
console.log("here 1");
passport.authenticate('local', function(err, user, info) {
    console.log("here 2");
    if (err) { return next(err) }
    if (!user) { return res.redirect('loginError'); }
    req.logIn(user, function(err) {
      if (err) { return next(err); }
  return res.redirect('userProfile');
    });
  })(req, res, next);
};

exports.loginError = function (req, res) {
res.render('loginError', {title: 'Weblio'});
};

exports.userProfile = function(req, res) {
res.render('userProfile', {title: 'Weblio'});
};
它给了我一个对象未定义的错误-我如何从数据库访问对象,只要用户登录,就让他们看到这个页面


谢谢

请在呈现模板的快速路线中添加代码。是否确定
用户
对象已向
渲染
函数传递了一个参数?其中包含路由文件