2014-03-25 39 views
4

我試圖用「connect-mongostore」模塊創建使用節點js的會話。我能夠創建會話。但它沒有正確存儲它。使用節點js和「connect-mongostore」的會話存儲

這是我的服務器端代碼

//loading all the dependencies  
var express = require('express'); 
var app = express(); 
var MongoStore = require('connect-mongostore')(express); 
var mongo = require('mongoose'); 

//my data base path to store sessions 
var conf = { 
    db: { 
     db: 'mongoservernew', 
     host: 'localhost', 
     collection: 'mySessions' 
    }, 
    secret: '076ee61d63aa10a125ea872411e433b9' 
}; 

//configuration 
app.configure(function(){ 
    app.use(express.cookieParser()); 
    app.use(express.session({ 
     secret: conf.secret, 
     maxAge: new Date(Date.now() + 3600000), 
     store: new MongoStore(conf.db) 
    })); 
    app.use(app.router); 
}); 

//data base Url for storing data 
var dbUrl = 'mongodb://localhost/mongoservernew'; 
mongo.connect(dbUrl); 
mongo.connection.on('open', function() { 
    app.listen(3002); 
    console.log("connection open"); 
}); 


//creating a session and sending back to client side. 
app.get('/', function(req, res) { 
    console.log("global load"); 
    var previous  = req.session.value || 0; 
    req.session.value = previous + 1; 
    res.end('<h1>Previous value: ' + previous + '</h1>'); 
    res.send(req.session); 
}); 

//creating cookies for each event. 
app.get("/request",function(req,res){ 
    console.log("request received"); 
    console.log(req.session); 
    var m=req.session.isLogged || 0;//isLogged is stored in session over here 
    req.session.isLogged = m+1; 
    console.log(req.session.isLogged); 
}); 

app.get("/getsession",function(req,res){ 
    console.log("getsession received"); 
    console.log(req.session); 
    console.log(req.session.isLogged);//but over here isLogged is returning undefined 
}) 

app.listen(process.env.PORT || 3001); 

每當鏈路在本地主機加載的,變量的值「value」遞增。但是,客戶端並未保存相同的內容。有人可以幫我嗎?

回答

0

您在應用

聽兩次從底部移除app.listen,一切工作正常