【问题标题】:How to store sessions in MongoDB from NodeJS?如何从 NodeJS 在 MongoDB 中存储会话?
【发布时间】:2013-12-20 03:04:50
【问题描述】:

我使用connect-mongo 模块将来自express 的会话存储在mongodb 中。像这样使用它:

app.use(express.session({
    'secret': config.APP_SECRET,
    'store': new MongoStore({
        'db': db
    })
}));

地点:

var MongoStore = require(config.MODULES_DIR + 'connect-mongo')(express);
var db = mongoose.connection; // already connected as i use in in callback

但是当使用会话时我得到这个错误:

TypeError: Object #<Object> has no method 'open'
    at MongoStore._open_database (/node_modules/connect-mongo/lib/connect-mongo.js:174:15)
    at MongoStore._get_collection (/node_modules/connect-mongo/lib/connect-mongo.js:169:14)
    at MongoStore.get (/node_modules/connect-mongo/lib/connect-mongo.js:211:10)
    at Object.session [as handle] (/node_modules/express/node_modules/connect/lib/middleware/session.js:314:11)
    at next (/node_modules/express/node_modules/connect/lib/proto.js:193:15)
    at Object.cookieParser [as handle] (/node_modules/express/node_modules/connect/lib/middleware/cookieParser.js:60:5)
    at next (/node_modules/express/node_modules/connect/lib/proto.js:193:15)
    at Object.urlencoded [as handle] (/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:49:37)
    at next (/node_modules/express/node_modules/connect/lib/proto.js:193:15)
    at Object.json [as handle] (/node_modules/express/node_modules/connect/lib/middleware/json.js:51:37)

【问题讨论】:

    标签: node.js mongodb session express


    【解决方案1】:

    我一直发现使用 MongoUri 进行连接更容易。大多数数据库服务将提供一个供您用于您的数据库。它应该看起来像这样:

    var mongoUri = 'mongodb://username:password@foo.mongohq.com/port/db'
    
    app.use(express.session({
        store   : new MongoStore({
            url  : mongoUri
        })
    }))
    

    【讨论】:

      【解决方案2】:

      如果您想使用 Mongoose 连接,您需要恰当命名的 mongoose_connection 选项:

      new MongoStore({
        mongoose_connection : db 
      })
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-08
        • 1970-01-01
        • 2013-06-20
        • 2014-06-03
        • 2015-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多