मैं नोड और एक्सप्रेस सीखने के लिए बहुत नया हूं, और मैं अभी भी एक्सप्रेस के साथ कोड प्रवाह के चारों ओर अपने सिर को लपेटने की कोशिश कर रहा हूं। मान लीजिए कि हमें कोड है कि एक session.js में इस तरह दिखता है:एक्सप्रेस req.session ऑब्जेक्ट कैसे जारी है?
app.post('/session', notLoggedIn, function(req, res) {
User.findOne({
username: req.body.username,
password: req.body.password
}, function (err, user) {
if (err) {
return next(err);
}
if (user) {
req.session.user = user;
res.redirect('/users');
} else {
res.redirect('/session/new');
}
});
});
मान लिया जाये कि उपयोगकर्ता एक आवश्यक मोंगो स्कीमा है। क्या मैं अजीब लगता है session.user काम है:
req.session.user = user;
के बाद से अनुरोध चर रीडायरेक्ट के बाद क्षेत्र से बाहर हो जाएगा, लेकिन हम स्पष्ट रूप से उपयोगकर्ता डेटा जारी रहती को यह कर रहे हैं, मैं लगाना के साथ छोड़ दिया हूँ निम्नलिखित में से कौन से परिदृश्य बताते हैं कि क्या हो रहा है। या तो (ए) तर्क जो कि req पैरामीटर (जब कॉलबैक कहा जाता है) को असाइन किया जा रहा है, अभी भी ढेर पर संग्रहीत/कहीं भी संग्रहीत किया जाता है, (बी) सत्र को स्टैक पर/संग्रहीत किया जाता है और इसे एक नए रिक ऑब्जेक्ट को सौंपा जा रहा है कॉलबैक में पास किया गया, या (सी) बी के समान ही है, लेकिन उपयोगकर्ता फ़ील्ड पर (संभवतः मेरे हिस्से पर असंभव और शायद प्रतीत होता है)।
मैं कोड को देखता हूं, यह बहुत अधिक नहीं है और अच्छी तरह से प्रलेखित होता है https://github.com/expressjs/session/tree/master/session – elclanrs