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

Вышеуказанное устанавливает redisStore для хранения данных сеанса. Однако значение сеанса имеет значение: -Экспресс redisStore: - Могу ли я хранить сеанс как Array вместо String?

{"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"}]} 

Какая строка. Могу ли я сохранить вышеприведенное значение сеанса как массива?

Редактировать: Я понимаю, что я могу получить доступ ко всем переменным через req.session.user ... но мне нужно напрямую манипулировать значением, для которого в настоящее время мне нужно использовать регулярное выражение.

ответ

0

Это строка JSON (это как RedisStore должно хранить 'сложные' объекты в Redis):

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

удивительные. Благодарю. –

Смежные вопросы