因此,我正在开发REST API,正在使用express,mongojs,connect-mongo。而且我不知道如何在会话中存储数据:
var express = require('express'),
mongojs = require("mongojs"),
MongoStore = require('connect-mongo')(express);
GLOBAL.db = mongojs.connect(databaseUrl, collections);
app.configure(function () {
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
key: 'express.sid',
secret: 'secret',
maxAge: new Date(Date.now() + 3600000),
store: new MongoStore({ db: databaseUrl, collection: 'sessions' })
}));
app.use(app.router);
app.use(express.logger('dev')); /* 'default', 'short', 'tiny', 'dev' */
});
用户尝试使用以下方式登录:
curl -X POST http://localhost:2048/auth -d @./sampleData/authUser.json -H "Content-Type: application/json" --cookie myCookie.txt
用户成功登录后,我将执行以下操作:
req.session.user = {}
req.session.user.id = currentUser._id.toString()
req.session.user.userame = currentUser.username
req.session.user.firstName = currentUser.firstName
req.session.user.lastName = currentUser.lastName
req.session.user.title = currentUser.title
req.session.user.location = currentUser.location
res.send(500)
但是当我发送下一个请求时
curl -X GET http://localhost:2048/projects --cookie myCookie.txt
req.session
没有我分配的用户。我在这里做错了什么? 最佳答案
好的,问题是我那里没有提到的环境。将第5行更改为:
app.configure('development', function () {
之后就是彩虹和蝴蝶。
关于node.js - session 存储区不存储数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15577985/