-
글쓴이글
-
2021년 7월 9일 18:44 #11392
김창규참가자안녕하세요 제가 회원가입 기능 테스트를 하다 이상한 버그를 발견해서 질문드립니다.
제가 회원가입을 직접 해보며 코드가 잘 동작하는지 테스트중 하나의 계정은 만들어 지는데
하나 이상의 계정이 만들어지지 않습니다 코드는 아래와 같이 짰습니다.
(가장 아래에 클라이언트로 전송받은 에러 메세지도 일단 적어두겠습니다.)
app.post('/Sign_up',function(req,rsp){
db.collection('UserInfo').findOne({ id: req.body.id },function(err,result){
if(err) rsp.status(400).send({ message: '회원가입에 실패했습니다.' })
if(result){
return rsp.status(400).send({ message: '이미 존재하는 아이디 입니다.' })
}
if(!result){
crypto.randomBytes(64, (err, buf) => {
if(err) rsp.status(400).send({ message: '회원가입에 실패했습니다.' })
crypto.pbkdf2(req.body.pw, buf.toString('base64'), 123121, 64, 'sha512', (err, key) => {
if(err) rsp.status(400).send({ message: '암호화에 실패했습니다.' })
const user = new model({
_id: new mongoose.Types.ObjectId(),
id: req.body.id,
pw: key.toString('base64'),
phone: req.body.phone,
salt: buf.toString('base64'),
});
user.save()
.then(() => {
return rsp.status(200).send({ message: '회원가입에 성공했습니다.' })
})
.catch((err) => {
return rsp.status(400).send({ messgae: '가입에 실패했습니다 다시 시도해 주십시오',error: err })
})
});
});
}
})
});에러 메세지
error:
code: 11000
driver: true
index: 0
keyPattern:
name: 1
__proto__: Object
keyValue:
name: null2021년 7월 9일 20:24 #11393
codingapple키 마스터아마 에러메세지 전체가 필요할 것 같은데요
db에서 저장이 실패한것이면 어디서 실패했는지
아니면 프론트엔드에서 요청이 이상한거면 요청이 잘 들어오고 있는지
터미널에서 출력해봐야할듯합니다
2021년 7월 9일 23:52 #11395
김창규참가자이런식으로 오류가 뜹니다.
MongoError: E11000 duplicate key error collection: to-do-app.UserInfo index: name_1 dup key: { name: null }
at Function.create (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\core\error.js:57:12)
at toError (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\utils.js:130:22)
at C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\operations\common_functions.js:258:39
at handler (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\core\sdam\topology.js:943:24)
at C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\connection_pool.js:350:13
at handleOperationResult (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\core\sdam\server.js:558:5)
at MessageStream.messageHandler (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\connection.js:281:5)
at MessageStream.emit (node:events:365:28)
at processIncomingData (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\message_stream.js:144:12)
at MessageStream._write (C:\Users\canky\OneDrive\바탕 화면\iamport-react-example-master\node_modules\mongoose\node_modules\mongodb\lib\cmap\message_stream.js:42:5)
at writeOrBuffer (node:internal/streams/writable:389:12)
at _write (node:internal/streams/writable:330:10)
at MessageStream.Writable.write (node:internal/streams/writable:334:10)
at TLSSocket.ondata (node:internal/streams/readable:751:22)
at TLSSocket.emit (node:events:365:28)
at addChunk (node:internal/streams/readable:314:12) {
driver: true,
index: 0,
code: 11000,
keyPattern: { name: 1 },
keyValue: { name: null }
}2021년 7월 10일 09:41 #11401
codingapple키 마스터에러난 컬렉션과 관련된 인덱스를 atlas에서 다 지워봅시다
어떤 document에 특정 속성이 비어있거나 그러면 가끔 그런 에러가 뜹니다 유저 document도 다 삭제합시다
그리고 가입시 필드를 전부 잘 입력해서 테스트 해봅시다
-
글쓴이글
- 답변은 로그인 후 가능합니다.