現在,我將會話數據存儲在與「連接(快速)」捆綁在一起的「內存存儲」中。但我想要/必須改變這種生產方式。node.js + express.js:使用mongodb/mongoose進行會話處理
該應用程序正在使用mongodb,我安裝了貓鼬來處理所有db通信。
例如連接到數據庫初始化我的應用程序後:
var mongo = require('mongoose');
mongo.connect('mongodb://localhost/myDb');
mongo.connection.on('open', function() {
app.listen(3000);
}
我發現的Connect-mongodb的模塊,但我不知道如何使用貓鼬實現它,或者如果它實際上是可能的嗎? 我需要添加這樣的事情:
var mongoStore = require('connect-mongodb');
// ...
app.use(express.session({
secret: 'topsecret',
maxAge: new Date(Date.now() + 3600000),
store: new mongoStore({ db: 'myDb' })
}));
還是我直接使用MongoDB的模塊來定義我的DB連接第二次?
幹得好!只有另外我有一個複利我的煩惱是,以確保您的「app.use(app.router);」被放置在「app.use(express.session ......」之後。 –
感謝信息。編輯的答案,包括這個。 – pkyeck
對於任何想要最近工作的人:從v0.1.9開始,您需要將express設置爲varilable('var express = require('express')'),然後將其傳遞給connect-mongo ('var MongoStore = require('connect-mongo')(express)')。這是有效的,因爲表達式暴露了連接的所有底層部分,而connect-mongo實際上是一個將連接對象作爲參數的函數。 –