在express中启动我的应用程序时,我遇到了一个Error setting TTL错误。也许问题是因为我通过不同的连接使用同一个数据库进行会话和db操作。
那么,如果我想通过connect-mongo中间件将我的会话存储在mongodb中,并使用mongo作为我的应用程序特定数据的数据库,那么需要遵守connect-mongo和mongoose的特定序列吗?
目前我的应用看起来是这样的:
App.app.use(express.session({
store: new MongoStore({
db: settings.cookie.db,
host: settings.cookie.host,
port: settings.cookie.port
}),
secret: settings.cookie.secret
}))然后我为mongo设置了start the connection:
function connect(connectionString) {
mongoose.connect(connectionString)
var db = mongoose.connection
db.on('error', console.error.bind(console, 'connection error'))
db.once('open', function callbck() {
console.log('Mongoose connected at: ', connectionString)
})
} 没有分开的错误日志
另外,当我关闭我的应用程序(比如从命令行)时,我如何正确地拆除mongo连接?对于这个问题,我想我找到了答案here。
发布于 2014-02-13 18:45:31
首先,我创建了一个sessionStore模块
var mongoose = require('mongoose'),
express = require('express'),
MongoStore = require('connect-mongo')(express),
sessionStore = new MongoStore({mongoose_connection: mongoose.connection});
module.exports = sessionStore;然后我将其包含到应用程序中
sessionStore = require('libs/sessionStore');最后,
app.use(express.session({
secret: config.get('session:secret'),
key: config.get('session:key'),
cookie: config.get('session:cookie'),
store: sessionStore
}));这是config
"session": {
"secret": "secret",
"key": "connect.sid",
"cookie": {
"path": "/",
"httpOnly": true,
"maxAge": null
}
},https://stackoverflow.com/questions/21737814
复制相似问题