model.findone() no longer accepts a callback 오류
4405
작성한 질문수 2
findOne()도 save()와 마찬가지로 몽구스 5.0부터는 콜백함수를 지원하지 않기 때문에 기존에
app.post('/api/users/login',(req, res) =>{
// 요청된 이메일을 데이터베이스 찾기
User.findOne({email: req.body.email}, (err, docs) =>{
if(!docs){
return res.json({
loginSuccess: false,
messsage: "제공된 이메일에 해당하는 유저가 없습니다."
})
}
// 요청된 이메일이 DB에 있다면 Password가 일치한지 확인
user.comparePassword(req.body.password, (err, isMatch) => {
if(!isMatch)
return res.json({loginSuccess: false, messsage: "비밀번호가 틀렸습니다."})
// Password가 일치하다면 토큰 생성
user.generateToken((err, user)=>{
if(err) return res.status(400).send(err);
// 토큰을 저장
res.cookie("x_auth", user.token)
.status(200)
.json({loginSuccess: true, userId: user._id})
})
})
})
})에서 콜백함수가 들어가 있기 때문에 callback을 쓰지 않고 promise 또는 async/await로 수정해서 사용하시면 됩니다.
저같은 경우는 promise로 수정해서 .then .catch로 수정을 했습니다.
app.post('/api/users/login',(req, res) =>{
// 요청된 이메일을 데이터베이스 찾기
User.findOne({email: req.body.email})
.then(docs=>{
if(!docs){
return res.json({
loginSuccess: false,
messsage: "제공된 이메일에 해당하는 유저가 없습니다."
})
}
docs.comparePassword(req.body.password, (err, isMatch) => {
if(!isMatch) return res.json({loginSuccess: false, messsage: "비밀번호가 틀렸습니다."})
// Password가 일치하다면 토큰 생성
docs.generateToken((err, user)=>{
if(err) return res.status(400).send(err);
// 토큰을 저장
res.cookie("x_auth", user.token)
.status(200)
.json({loginSuccess: true, userId: user._id})
})
})
})
.catch((err)=>{
return res.status(400).send(err);
})
})참고하시고 수정하시면 될 것 같습니다.
답변 1
깃 이메일이랑 비번이 필요하다고 하네요
0
36
1
404 에러
0
103
1
34강 인증 체크에서 element 사용 때문에 에러나시는 분들 이렇게 하심 됩니다.
0
121
1
로그인, 로그아웃, 토근 작동 안 함
0
240
0
로그아웃 findOneAndUpdate 함수
0
171
1
9강 오류 어떻게 해결하나요?
0
195
1
localhost 에서 연결을 거부했습니다.
0
1931
4
포스트맨에서 true가 안떠요
0
151
1
왜 안되나요
0
130
1
몽고db 연결 오류가 납니다 위에껀 입력한 코드, 아래껀 터미널이에요
0
243
1
로그아웃 401 에러(Unauthorized)
0
506
2
암호가 해싱되지 않고 입력값 그대로 db에 저장되는 문제
0
151
1
7강중에서
0
167
2
User.findByToken is not a function
0
212
1
루트 디렉토리
0
272
1
useState
0
563
1
프록시 잘 설정했는데도 404 오류 뜨는 분들
5
876
6
webpack 관련 에러 질문
0
221
1
리액트 관련 질문
0
274
1
14강 로그아웃 안됨
0
319
1
mongoDB 데이터 확인하는 법
0
411
1
postman 에러
0
293
1
선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?
0
235
1
다음과 같은 에러들이 발생합니다.
0
274
1





