Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session 如何在Node.js中管理会话_Session_Node.js_Express - Fatal编程技术网

Session 如何在Node.js中管理会话

Session 如何在Node.js中管理会话,session,node.js,express,Session,Node.js,Express,我正在使用express.session和connect mongo作为我的数据存储 我面临的是。。。在我的服务器中,我有20个不同的app.get()调用。但并非所有人都需要检查会话 但是,如果在服务器开始时执行此操作: express.createServer( express.session({ ... })); 然后,每个调用都将触发express.session,从而将会话设置为mongoDB 如何将触发express.session的次数限制为仅允许触发的次数 e.g. app.g

我正在使用express.session和connect mongo作为我的数据存储

我面临的是。。。在我的服务器中,我有20个不同的app.get()调用。但并非所有人都需要检查会话

但是,如果在服务器开始时执行此操作:

express.createServer( express.session({ ... }));
然后,每个调用都将触发express.session,从而将会话设置为mongoDB

如何将触发express.session的次数限制为仅允许触发的次数

e.g. app.get('/getASession')  will get a session
app.get('/donotGetSession')  will not even trigger express.session 

我找到了解决办法。express.session作为函数返回。所以我可以这样做:

global.mySession = express.session({ secret: session_secret,
    store:new MongoStore({  
        db: session_db_name,
        host: session_db_ip,
        port: session_db_port
    })
});



app.get('/checkSession', mySession, function (req, res) {
    res.send("<div>ok</div>");
});
global.mySession=express.session({secret:session_secret,
商店:新蒙哥斯托尔({
db:session\u db\u名称,
主机:会话\数据库\ ip,
端口:会话\数据库\端口
})
});
app.get('/checkSession',mySession,函数(req,res){
res.send(“ok”);
});

因此,如果我不想使用soemthing会话,那么我不会将mySession放在那里。:)简单。我爱你这确实是express.js的一个特性,不是node,但我同意。我爱他们两个。