मैं अपने डेटाबेस से उपयोगकर्ताओं को हटाने में सक्षम होना चाहता हूं, लेकिन जैसे ही मैं इसे करता हूं, यदि उपयोगकर्ता लॉग इन है और उपयोगकर्ता पृष्ठ को रीफ्रेश करने का प्रयास करता है तो मुझे निम्न त्रुटि मिलती है: त्रुटि: सत्र से उपयोगकर्ता को deserialize करने में विफल

यहाँ मेरा कोड है:

passport.deserializeUser((id, done) => {
  pool.query(`SELECT * FROM users WHERE id = $1`, [id], (err, results) => {
    if (err) {
      return done(err);
    }
    return done(null, results.rows[0]);
  });
});
}
1
notKnown44 As 10 अक्टूबर 2020, 11:49

1 उत्तर

सबसे बढ़िया उत्तर

यदि आपके डेटाबेस में कोई रिकॉर्ड नहीं है, तो इसे संभालने के लिए आपको कुछ शर्त बनाने की आवश्यकता है।

यहाँ एक उदाहरण है। यदि कोई रिकॉर्ड मौजूद नहीं है, तो आपको डेटाबेस से लौटाए जाने की अपेक्षा के आधार पर if स्थिति को समायोजित करने की आवश्यकता हो सकती है।

passport.deserializeUser((id, done) => {
  pool.query(`SELECT * FROM users WHERE id = $1`, [id], (err, results) => {
    if (err) return done(err);
    if (results.rows[0]) {
      return done(null, results.rows[0]);
    } else {
      return done(null, false)
    }

  });
});
}
0
jasonandmonte 10 अक्टूबर 2020, 22:56