2014-04-11 11 views
7

मैं express 3.x से express 4.xउन्नयन 4.x व्यक्त करने के लिए - मोंगो सत्र दुकान

मैं एक मोंगो सत्र दुकान जो नए session मिडलवेयर साथ काम करता है खोजने समस्याएं आ रही हैं की ओर पलायन कर रहा हूँ।

पहले:

express 3.x निर्भरता, जो बारी में बंडल session मिडलवेयर के साथ आया के रूप में connect था।

एक मोंगो डेटाबेस में सत्र जारी रखने के लिए, डी-फैक्टो मिडलवेयर connect-mongo था।

नई विश्व व्यवस्था:

अब express 4.x साथ, connect अब एक निर्भरता है।

इस तरह, उपरोक्त सूचीबद्ध session जैसे अलग-अलग बंडल किए गए मिडलवेयर को अलग-अलग मिडलवेयर में फैलाया गया है।

session एक store ले जाता है, लेकिन जब से connect-mongoconnect पर निर्भर करता है, express 4.x के साथ संगत नहीं है।

प्रश्न:

मैं जो सत्र की दुकान जब express 4.x की ओर पलायन का उपयोग करने के मोंगो के बारे में जानकारी नहीं मिल रहा। कोई सुझाव?

उत्तर

14

connect-mongo अभी भी express 4.x में काम करता है, हालांकि, आप अब session में बजाय express

एक्सप्रेस 3.x के पारित:

var express = require('express'); 
var mongoStore = require('connect-mongo')(express); // note parameter = express 

एक्सप्रेस 4.x:

var session = require('express-session'); 
var mongoStore = require('connect-mongo')(session); // note parameter = session 

NPM:

दुर्भाग्य से, लेखन के समय, connect-mongo के नवीनतम संस्करण NPM में तैनात नहीं किया गया है।

संपादित करें:

: connect-mongo के नवीनतम संस्करण npm

आप github

से प्रत्यक्ष नवीनतम संस्करण को डाउनलोड कर सकते हैं या तो या एक समाधान के लिए एक अस्थायी वस्तु बनाने के लिए है करने के लिए तैनात किया गया है

{ 
    session: session 
} 

और इसे mongo-connect पर पास करें:

var mongoStore = require('connect-mongo')({session: session}); 
+1

मुझे अभी भी इसके साथ समस्याएं हैं। इस त्रुटि को प्राप्त करना 'var Store = connect.Store || connect.session.Store; ^ लेखन त्रुटि: module.exports पर गुण अपरिभाषित की 'दुकान' पढ़ा नहीं जा सकता (/Users/vinitkumar/projects/javascript/node-twitter/node_modules/connect-mongo/lib/connect-mongo.js:30:47) ' –

+0

@ विनीट मुझे एक ही त्रुटि संदेश मिल रहा था; उत्तर की आखिरी पंक्ति देखें, यह ठीक करता है। – Venning

+0

@ विनीट, लगता है जैसे आप 'एक्सप्रेस' में 'कनेक्ट-मोंगो' में जा रहे हैं, 'एक्सप्रेस-सत्र' नहीं? –

संबंधित मुद्दे