साथ ठीक से काम नहीं। हालांकि, मैं चाहता हूं कि इन प्रोफाइलों को 2 अलग यूआरएल /profile/nickname
और /profile/id
के माध्यम से accesed किया जाए ताकि उपयोगकर्ता का उपनाम या उपयोगकर्ता आईडी का उपयोग करके प्रोफ़ाइल को accesed किया जा सके। मैं निम्नलिखित कोड की कोशिश की:
app.get("/profile/:id", function(req, res) {
User.findOne({ $or : [{ "nickname": req.params.id },{ "_id": req.params.id }] }, function(err, user) {
if(user)
{
res.render('users/profile.jade', {
locals: {
currentUser: user,
title: user.nickname +"'s Profile",
jsf:[],
}
});
}
else
{
res.render('404.jade', {
status: 404,
title: 'Page Not Found',
jsf: []
});
}
});
});
समस्या यह है, ऐसा लगता है कि यह केवल आईडी के साथ और प्रचलित नाम से नहीं काम कर रहा है लगता है, जिसका अर्थ है कि अगर मैं acces /profile/4f4ae474546708b219000005
चीजें काम, लेकिन अगर मैं /profile/mmellad
का उपयोग जो है उस उपयोगकर्ता के लिए उपनाम दिया गया, मुझे 404 पृष्ठ मिल गया।
वहाँ भी एक और बात मैं पता लगा कि प्रचलित नाम के लिए ठीक काम करता है, जो इस मामले /profile/mmellado
ठीक काम करता है में
User.findOne({ "nickname": req.params.id } }
को
User.findOne({ $or : [{ "nickname": req.params.id },{ "_id": req.params.id }] }
से क्वेरी को बदलने लेकिन उपयोग कर रहा है उपयोगकर्ता आईडी स्पष्ट रूप से नहीं करता है।
ऐसा करने का सही तरीका क्या होगा? मुझे लगता है कि मैं गलत दृष्टिकोण का उपयोग कर रहा हूं।
एक और बात का उल्लेख है कि अगर मैं मोंगो कंसोल में निम्न कोड का प्रयास करें, यह ठीक के रूप में अच्छी तरह से काम कर रहा है:
x = db.users.findOne({ $or: [ {nickname:"mmellado"}, {_id:ObjectId("4f4ae474546708b219000005")} ]})
मैं सही उपनाम और एक गलत _ id डालने से उस कोड का परीक्षण किया है, तो परीक्षण किया एक गलत उपनाम और सही _id के साथ। दोनों स्थितियों में, x ने मुझे आवश्यक रिकॉर्ड के लिए ऑब्जेक्ट युक्त अंत किया।
मुझे लगता है मैं एक अतिरिक्त मार्ग के साथ इसे ठीक करने में सक्षम हो सकता लगता है, लेकिन इतना मुझे यकीन है कि क्या उचित दृष्टिकोण होगा नहीं कर रहा हूँ मैं सभी को एक साथ Node.js और एक्सप्रेस के लिए नया हूँ।
धन्यवाद!
आप किस मोंगो का उपयोग कर रहे हैं? मार्कोस-Mellados-आईमैक-2:: –
मोंगो संस्करण निम्न है ~ मार्कोस $ mongod --version डाटाबेस संस्करण v2.0.2, pdfile संस्करण 4.5 सोम 27 फ़र, 02:48:11 Git संस्करण: 514b122d308928517f5841888ceaa4246a7f18e3 –