Node.js 如何使用SessionID从RedisStore(连接redis)获取会话数据?

Node.js 如何使用SessionID从RedisStore(连接redis)获取会话数据?,node.js,session,express,redis,socket.io,Node.js,Session,Express,Redis,Socket.io,因此,下面的代码片段显示了如何设置redistore,并从传入的GET请求中提取sessionID。但是,sessionStore.get(req.cookies['connect.sid'])的计算结果为undefined 有人能指出我做错了什么吗?从req.cookies['connect.sid']返回的示例sessionID如下所示: s:_8pvC4Zju4GjMOvN6Y4ej8SRVYvopn8C.ctuA/+pQnZt96bLgOW1xizHOLI2nBuH4vzO9Agm26L

因此,下面的代码片段显示了如何设置
redistore
,并从传入的GET请求中提取
sessionID
。但是,
sessionStore.get(req.cookies['connect.sid'])
的计算结果为
undefined

有人能指出我做错了什么吗?从
req.cookies['connect.sid']
返回的示例
sessionID
如下所示:

s:_8pvC4Zju4GjMOvN6Y4ej8SRVYvopn8C.ctuA/+pQnZt96bLgOW1xizHOLI2nBuH4vzO9Agm26Lk
sessionStore.get(req.cookies['connect.sid'], function (err, session) {
  console.log(session);
})

sessionStore.get是一个异步方法,您需要向该方法传递回调,如下所示:

s:_8pvC4Zju4GjMOvN6Y4ej8SRVYvopn8C.ctuA/+pQnZt96bLgOW1xizHOLI2nBuH4vzO9Agm26Lk
sessionStore.get(req.cookies['connect.sid'], function (err, session) {
  console.log(session);
})

观看本文档。

为什么不使用
req.session
?除非您希望从当前请求中获取用户以外的其他人的会话数据,否则我正在尝试从sessionStore获取会话数据,以使用socket.io对用户进行身份验证。请尝试将会话数据转换为json,以显示为键值对。。对于ex:var data=JSON.parse(会话);日志(数据[“cookie”]);否则你将得到字符串数组。。