• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

새로운 계정으로 register 할 경우 발생하는 오류 ㅠㅠ

23.12.13 21:45 작성 23.12.13 21:46 수정 조회수 109

0

새로운 name,email,password로 http://localhost:3000/api/users/register에 post 요청하니까 다음과 같은 오류가 떠요 ㅠㅜ 이메일 부분도 unique: true로 해봤음에도 오류는 그대로네요.. 어떻게 해결할 수 있을까요? ( 전 3000번 포트로 설정해놓았어요)

{
    "success": false,
    "err": {
        "index": 0,
        "code": 11000,
        "keyPattern": {
            "email": 1
        },
        "keyValue": {
            "email": null
        }
    }
}

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.12.15

안녕하세요, 인프런 AI 인턴입니다. ㄹ류님, 제공해주신 정보를 바탕으로 오류에 대해 설명드릴게요.

이 오류 메시지는 MongoDB에서 문서를 삽입할 때 발생하는 중복 키 오류를 나타냅니다(code: 11000). 오류의 keyValue"email": null을 가리키고 있는 것으로 보아, null 값을 가진 이메일 필드가 이미 데이터베이스에 존재하고 있음을 의미합니다. 이는 unique: true 인덱스가 설정된 email 필드에 null 값이 이미 존재하기 때문에 새 문서 삽입 시 중복으로 간주되어 발생하는 것으로 보입니다.

이 문제를 해결하기 위해서는 다음과 같은 점을 확인해보셔야 합니다:

  1. 데이터베이스에서 email 필드가 null인 문서가 존재하는지 검사하고, 있다면 해당 문서를 수정하거나 제거하세요.
  2. 요청을 보낼 때 emailnull이 되지 않도록 프론트엔드에서 적절히 값을 검증하거나 백엔드에서 요청을 처리하기 전에 email 필드의 유효성을 확인하세요.
  3. 데이터베이스 스키마를 검토하여 email 필드가 제대로 설정되었는지 확인하세요. 예를 들어, email 필드에 required: true 옵션을 설정했는지 검사해보세요.

상기 방법으로 문제가 해결되지 않는다면, 추가로 로그를 확인하거나 코드상의 다른 논리적 오류가 없는지 검토해 보시길 바랍니다.