강의

멘토링

로드맵

Inflearn Community Q&A

kimraeyoung's profile image
kimraeyoung

asked

Node.js Textbook - From Basics to Project Practice

passport serializeUser/deserializeUser

mongoDB local 로그인 질문입니다

Resolved

Written on

·

300

0

mongoDB를 사용해서 local로그인을 구현하려고 하고 있습니다. 

1.  mongoose로 연결을 시킬때 admin을 꼭 사용해야 하는건가요? 아래를보면 admin부분에 dbName을 넣어도 되는데 admin을 사용하는 이유가 궁금합니다. admin을 사용하고 안하고의 차이점이 무엇인가요?

2. 강의 내용을 토대로 local로그인을 구현중인데 몇시간째 계속 달리지지 않아 제가 방향성이 잘못된것인지 질문드립니다.  제가 user를 findOne을 할 때 .then() 안에서는 user가 null 입니다. 음.. 제가 잘못된 방향으로 구현하고 있는 중인가요? 

 mongoose.connect('mongodb://localhost:27017/admin', { 
            dbName: 'nodeJS',
})
-------------- 아래는 -----------------------------
router.post('/join'async (reqresnext=> {
    const { submitEmailsubmitPassword } = req.body;

    try {
        const user = User.findOne({ email_id: submitEmail })
        console.log('-----------user-------',user)
        if(user) {
            req.flash('joinError''이미 가입된 회원입니다.');
            return res.redirect('/login');
        } else {
            console.time('암호화 시간')
            await bcrypt.hash(password12); // 숫자가 높을수록 안정성이 높고 시간이 느려진다.
            console.timeEnd('암호화 시간'// 시간이 1초정도 걸릴때 까지 숫자를 늘리거나 줄여본다.
            await new User({
                email_id: submitEmail,
                password: submitPassword
            }).save().then(()=>{
                return res.redirect('/login');
            });
            // return res.redirect('/login');
        }
    } catch (err) {
        console.log(err);
        next(err);
    }
});
nodejsmongodbmysqljavascript

Answer 2

0

kimraeyoung님의 프로필 이미지
kimraeyoung
Questioner

아 감사합니다! 

0

zerocho님의 프로필 이미지
zerocho
Instructor

await User.findOne 하셔야 합니다. 프로미스 앞에 await을 빼먹으셨네요. 그리고 await을 한 순간 then은 필요없습니다. then만 하시든지 아니면 await만 하시든지입니다.

kimraeyoung's profile image
kimraeyoung

asked

Ask a question