2012-09-23 22 views
5

मैं एक्सप्रेसजेएस और मोंगोस का उपयोग कर रहा हूं।कनेक्ट-मोंगो (या मोंगोज़ में सत्रों का उपयोग करें) कैसे सेट करें

var MongoStore = require('connect-mongo')(express); 
var sessionStore = new MongoStore({db: 'myappsession'}); 

app.use(express.session({ secret: "myappsecret", store:sessionStore })); 

इसका परिणाम "MongoError: त्रुटि: अनधिकृत डीबी" में होता है। मुझे लगता है कि मुझे इसे अपने लॉग-इन क्रेडेंशियल पास करना होगा। मैं भी है,

var mongoose = require('mongoose'); 
var db = mongoose.createConnection('<omitted username, password and address>', 'myappsession'); 

मैं कनेक्ट-मोंगो सत्र की दुकान बनाने के लिए मेरी डेटाबेस में लॉग इन करने के लिए इस जानकारी की जरूरत है अनुमान लगा रहा हूँ?

प्रश्न

मैं कैसे पारित लॉग-इन जानकारी कनेक्ट-मोंगो करते हैं? या क्या मुझसे यह गलती हो रही है।

उत्तर

3

, के बाद से मैं पहले से ही कर रहा हूँ सक्रिय रूप से नेवला का उपयोग कर, मैं समाप्त हो गया Mongoose के लिए एक समाधान का उपयोग कर।

1. सत्र-नेवला स्थापित

https://github.com/donpark/session-mongoose

2. उपयोग इस ट्यूटोरियल एक गाइड के रूप।

http://mikevalstar.com/Blog/107/Coding_with_Nodejs_Part_31_Mongoose_Sessions

3. विशेष रूप से, मैं ट्यूटोरियल के इस लाइन के साथ समस्या थी।

url: "mongodb://localhost/mv" 

यह कुछ होना चाहिए की तरह,

url: "username:[email protected]/testdatabase" 

सत्र तो "" नाम testdatabase "" सत्र "संकलन में डेटाबेस में संग्रहीत हैं।

मैं इस सवाल का जवाब मदद किसी को आशा कुछ निराशा से बचें। :)

+0

डब्ल्यू हाय यह एक अच्छा समाधान नहीं है? मैं वास्तव में अपने ऐप में इसका उपयोग कर रहा हूं। – Legendre

+0

हाँ, ट्यूटोरियल यूआरएल – ktkaushik

+0

@ktkaushik काम नहीं करता है - वह ट्यूटोरियल काम करने के लिए प्रयोग किया जाता है। आप "कोडिंग_with_Nodejs_Part_31_Mongoose_Sessions" के लिए Google पर जा सकते हैं और एक कैश किए गए संस्करण तक पहुंच सकते हैं। – Legendre

1

आपको एक मोंगोडीबी यूआरआई का उपयोग करने की आवश्यकता है। यहाँ डॉक्स को देखो: http://www.mongodb.org/display/DOCS/Connections

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] 
तो दिया आप एक ही सर्वर से कनेक्ट कर रहे हैं

, बस का उपयोग करें: मेरे मामले में

mongoose.createConnection('mongodb://[username:[email protected]]host1[:port1]', 'myappsession'); 
+0

+1 धन्यवाद! लेकिन मुझे मोंगोस के लिए एक और समाधान मिला। बाद में अपना जवाब लिखकर इसे साझा किया जाएगा। – Legendre