강의에 나오는 문법이 적용되지 않습니다
4248
작성한 질문수 12
MongooseError: Model.prototype.save() no longer accepts a callback
이 오류가 떠서 확인해보니 Mongoose6부터 callback 문법이 사용되지 않는다고 합니다
버전을 바꾸는 것은 시도 하지 않았고
.then .catch or async await 로 바꾸고 싶은데
수 시간 시도해보다가 안되서 글 남깁니다.
callback 구문을 보고 .then .catch or async await
이 방식으로 바꾸는 법을 알고 싶습니다.
이 부분에서만 에러가 발생하는지는 모르겠으나
stack Overflow에 적어봤는데 역시 답을 얻을 수 없더라구요
app.post("/login", (req, res) => {
User.findOne({ email: req.body.email }, (err, user) => {
if (!user) {
return res.json({
loginSuccess: false,
message: "제공된 이메일에 해당하는 유저가 없습니다.",
});
}
user.comparePassword(req.body.password, (err, isMatch) => {
if (!isMatch) return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다." });
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 });
});
});
});
});
답변 2
8
저도 강의듣다가 이것때문에 엄청 찾아보고 있었는데
mongoose 더 이상 콜백을 허용하지 않는다고 하네요~
스택오버플로에서 답을 찾은것 같아요
아래 코드가 도움이 되실지 모르겠네요(혹시 몰라 참고글 링크도 적어둡니다)
app.post('/register', async (req, res) => {
//회원가입시 필요 정보를 client에서 가져오면
//데이터베이스에 삽입한다
//body parser를 통해 body에 담긴 정보를 가져온다
const user = new User(req.body)
//mongoDB 메서드, user모델에 저장
const result = await user.save().then(()=>{
res.status(200).json({
success: true
})
}).catch((err)=>{
res.json({ success: false, err })
})
})
7
위에 염원식 님 소스처럼 수정해서 사용하셔도 좋지만... 중간 중간 같은 문제가 계속 발생해서 소스를 계속 바꿔가면서 수업을 받으려니 많이 힘들더라구요~
나중엔 안되겠어서
package.json의 mongoose버전을 아래로 바꾸고
"mongoose": "^5.4.20"
다시 npm install해서 수업 이어 나가고 있습니다.
깃 이메일이랑 비번이 필요하다고 하네요
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
562
1
프록시 잘 설정했는데도 404 오류 뜨는 분들
5
876
6
webpack 관련 에러 질문
0
220
1
리액트 관련 질문
0
273
1
14강 로그아웃 안됨
0
319
1
mongoDB 데이터 확인하는 법
0
411
1
postman 에러
0
293
1
선생님 리덕스를 사용하면 어떠한 부분이 좋은지 알 수 있을까요?
0
235
1
다음과 같은 에러들이 발생합니다.
0
274
1





