• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 insertOne의 콜백함수 결과

insertOne의 콜백함수 결과

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #27660

    김민재
    참가자

    // 회원가입 파트 //'id'라는 전략을 만들어서 사용
    passport.use('id', new LocalStrategy({
    usernameField: 'id',
    passwordField: 'pw',
    passReqToCallback: true,
    }, function (req, sumit_id, sumit_pw, done) {
    var userName = req.body.name;

    console.log(가입자 정보 id:${sumit_id}, pw:${sumit_pw}, name:${userName})

    process.nextTick(function () {
    db.collection('login').findOne({ id: sumit_id }, function (error, result) {
    if (error) return error
    if (!result) { // 아이디가 없으면 가입 진행
    db.collection('login').insertOne({ id: sumit_id, pw: sumit_pw, name: userName }, function (error, res) {
    if (error) return error;
    console.log('가입정보 입력')
    db.collection('login').findOne({ id: sumit_id }, function (error, user) {
    console.log(user)
    return done(null, user)
    })
    });
    } else { // 아이디가 있으면 가입 X
    console.log("이미 있는 사용자")
    return done(null, false, { message: '이미 존재하는 사용자입니다.' })
    }
    }) //end findOne
    }) //end nextTick
    })); //end strategy

     

    회원가입 기능 만드는 와중에 굵은 글씨로 되있는 부분보면 insertOne을 이용해서 데이터 베이스에 넣었는데 콜백함수에서 result가 이상한 값이 들어가서 다시 찾아서 세션으로 보내주는 방식을 사용했는데 다른 방식이 있을까요? 

    #27661

    김민재
    참가자

    굵은 글씨 넣었는데 이상하게 들어갔네요;

    #27672

    codingapple
    키 마스터

    res 말하시는거면

    원래 insertOne의 결과엔 성공했다는 메세지만 들어있습니다 

    다시 findOne으로 찾거나 위에있던 변수 쓰거나 그러면 됩니다 

3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠