Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
Node.js 使用nodeJS会话?_Node.js_Mongodb - Fatal编程技术网

Node.js 使用nodeJS会话?

Node.js 使用nodeJS会话?,node.js,mongodb,Node.js,Mongodb,我正在构建登录和注销功能,当我点击登录时,它会生成我的会话,但当我点击注销时,它不会破坏我的会话。如何解决它*我已在每个位置查看解决方案。* 我正在使用mongodb检查凭据。这是我的代码 app.post('/checkadminlogin', (req,res) => { // console.log(req.body); var email = req.body.email; var password = req.body.password; Mon

我正在构建登录和注销功能,当我点击登录时,它会生成我的会话,但当我点击注销时,它不会破坏我的会话。如何解决它*我已在每个位置查看解决方案。* 我正在使用mongodb检查凭据。这是我的代码

app.post('/checkadminlogin', (req,res) => {
    // console.log(req.body);
    var email = req.body.email;

    var password = req.body.password;
    MongoClient.connect(url, (err,db) => {

        if(err) throw err;
        var dbo = db.db("mydb");
        dbo.collection('adminlogin').find({ 'email': email, 'password': password }, {_id: 1, email: 1, password: 1}).toArray(function(err,result){
            if(err) throw err;

            if(Object.keys(result).length === 0){
            res.send("Email or Password is wrong");         
            }           
            else{
                adminsess = JSON.stringify(result[0].email);
                req.session.admin = adminsess;
                res.redirect('/admindashboard');    
            }
        });
    }); 
});


app.get('/logoutadmin', (req,res) => {      
            req.session.reset();
            res.redirect('/');  
});

您只需将此代码(写在下面)用于注销路径

  app.get('/logoutadmin', (req,res) => {        
    req.session.destroy(function () {               
     res.redirect('/');              
    });     
  });

如何检查会话是否已创建?console.log(req.session.admin);那么它会返回什么呢?请尝试
req.session.destroy()