๊ฐœ๋ฐœ ๐Ÿพ/Error

mongooseerror: model.findone() no longer accepts a callback

JOTOKKI 2024. 9. 25. 16:50
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);
}

 

๋ฐ˜์‘ํ˜•