2013-11-28 32 views
0
app.use(express.session({ 
    store: new RedisStore({ 
    host: 'localhost', 
    port: 6379, 
    db: 0, 
    pass: 'RedisPASS' 
    }), 
    secret: '1234567890QWERTY' 
})); 

上面建立了redisStore來保存會話數據。然而,會話值是這樣的: -快遞redisStore: - 我可以將會話存儲爲數組而不是字符串?

{"cookie":{"originalMaxAge":null,"expires":null,"httpOnly":true,"path":"/"},"user":{"__v":1,"_id":"52946af6eee73dc84600000c","dateOfMembership":"2013-11-26T09:33:42.633Z","email":"[email protected]","name":"[email protected]","following":[],"followers":[],"answers":[],"questions":[{"questionId":"52946b06eee73dc846000010","_id":"52946b06eee73dc846000012"}]} 

這是一個字符串。我可以設法將會話的上述值存儲爲Array嗎?

編輯:據我所知,我可以通過req.session.user訪問所有變量...但我需要直接操作值,目前我不得不使用正則表達式。

回答

0

這是一個JSON字符串(這是怎麼RedisStore具有存儲在Redis的 '複雜' 的對象):

var obj = JSON.parse(sessiondata); 
obj.property = newvalue; 
var modifiedsessiondata = JSON.stringify(obj); 
+0

真棒。謝謝。 –

相關問題