728x90
ํน์ ๊ฐ์๋ฅผ ๊ทธ๋ฅ ๋ฐ๋ผํ๊ฒ๋๋ฉด mongooseerror: model.findone() no longer accepts a callback ์ด๋ฐ ์๋ฌ๋ฅผ ๋ง์ฃผํ ๋๊ฐ ์๋ค.
์ฐพ์๋ณด๋ mongoose findOne ํจ์์์ ๋์ด์ ์ฝ๋ฐฑํจ์ ๋ฐฉ์์ ์ง์ํ์ง ์๋๋ค๋ ๋ฉ์ธ์ง๊ฐ ๋์จ๋ค.
์ด๋ฅผ async/await ์ผ๋ก ๊บผ๋ด์ฃผ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
// ๊ธฐ์กด ์๋ฌ๊ฐ ๋๋ ๋ฐฉ์
User.findOne({
userId: userId.toLocaleLowerCase(),
}, (err, user) => {
if(err) return done(err);
if(!user) {
return done(null, false, {message: `UserId ${userId} not found`})
}
user.comparePassword(password, (error, isMatch) => {
if(err) return done(err);
if(isMatch) {
// ๋น๋ฒ ๋งํ
return done(null, user);
} else {
// ๋น๋ฒ ํ๋ฆผ
return done(null, flase, {msg: "Invalid userId or password"})
}
})
})
}
์๋์ ๊ฐ์ด ์์ ํด์ฃผ๋ฉด๋๋ค.
try {
const user = await User.findOne({ userId: userId.toLowerCase() });
if (!user) {
return done(null, false, { message: `UserId ${userId} not found` });
}
user.comparePassword(password, (error, isMatch) => {
if (error) return done(error);
if (isMatch) {
// ๋น๋ฒ ๋ง์
return done(null, user);
} else {
// ๋น๋ฒ ํ๋ฆผ
return done(null, false, { msg: "Invalid userId or password" });
}
});
} catch (err) {
return done(err);
}
๋ฐ์ํ