在猫鼬模型中设置 req.session

Set req.session in mongoose model

大家好,我正在尝试通过处理在我的用户模型中设置的所有值来简化会话设置。我怎样才能实现以下目标:

userSchema.methods.setSession = function () {
    var user = req.session.user; //create the session object

    //set any values I want here
    user.firstName = this.firstName;
    user.lastName = this.lastName;
    user.school = this.school;
    user.email = this.email;
    user.admin = this.admin;
    user.moderator = this.moderator;
}

我遇到的问题是未定义请求。有没有办法在这里访问 req?

我利用 mongoose 为用户抓取所有数据。然后我将该数据传递给 setSession 方法并设置所有需要的会话数据。现在,如果我需要一个新的会话变量,我可以在我的用户模型中更新它。

这是我的解决方案。在我的路线中,我输入:

user = new User();
userData = someUserObjectIPulledFromMongo;

//pass user data to setSession function
user.setSession(userData ,req, function (data) {

});

我在用户模型中创建的方法:

userSchema.methods.setSession = function (user, req, callback) {
    //specify any desired session data in here
    sessionData = {
        firstName: user.firstName,
        lastName: user.lastName,
        email: user.email,
    }
    //pass temporary session object to req.session
    req.session.user = sessionData;
    callback(true);
}