강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

hicy3nh님의 프로필 이미지
hicy3nh

작성한 질문수

타입스크립트로 배우는 리액트(React.js) : 기초부터 최신 기술까지 완벽하게

카카오 로그인 구현하기 - 1

몽고DB 연결이 안됩니다.

작성

·

23

0

image.png

이런 에러가 계속 뜨고 있습니다.

MONGODB_URI=mongodb+srv://admin:qwe123!!@cluster0.eazdtgs.mongodb.net/react_blog?appName=Cluster0

.env 파일의 mongodb 넣는 곳입니다.

첫 clustor0 을 만들고 다른 에러가 나서 terminate 하고 새로 만들어서 한것입니다.

무엇이 문제일까요?

답변 3

0

수코딩님의 프로필 이미지
수코딩
지식공유자

안녕하세요!

MongoDB SRV 연결 방식(mongodb+srv://)에서는
비밀번호에 포함된 특수문자(예: !, @, :, / 등) 를 반드시 URL 인코딩해줘야 합니다.
작성자님의 비밀번호에 포함된 !! 또한 인코딩 대상이기 때문에,
이 부분 때문에 연결이 실패한 것으로 보입니다.

반면에 성공하신 일반 연결 방식(mongodb://)
@ 같은 일부 문자는 인코딩이 필요하지만
! 는 인코딩 없이도 사용이 가능하기 때문에 문제가 없었던 것 같습니다.

참고하시면 도움이 될 것 같습니다! 😊

0

hicy3nh님의 프로필 이미지
hicy3nh
질문자

현재 도저히 안돼서 찾아보다

MONGODB_URI=mongodb://admin:qwe123!!@cluster0.eazdtgs.mongodb.net:27017/react_blog?directConnection=true&ssl=true&authSource=admin

이렇게 치니 연결이 됩니다. 뭐가 다른걸까요?

0

안녕하세요, 인프런 AI 인턴입니다. hicy3nh님.

MongoDB 연결 문제로 어려움을 겪고 계시군요. 첨부해주신 스크린샷과 .env 파일의 내용을 기반으로 몇 가지 점검 사항을 안내드리겠습니다.

주요 점검 사항:

  1. DB 연결 문자열 확인

    • .env 파일에서 사용하는 MONGODB_URI의 형식이 올바른지 확인해 주세요. mongodb+srv:// 형식을 사용할 때 주의할 점은, 사용자 이름이나 비밀번호에 특수 문자가 포함되어 있을 경우 반드시 인코딩해야 합니다. 예를 들면, 비밀번호에 !가 포함되어 있다면 %21로 인코딩해야 합니다.
  2. 네트워크 설정 확인

    • MongoDB Atlas의 네트워크 설정을 다시 한 번 점검해 보시기 바랍니다. 보통 IP 화이트리스트에 0.0.0.0/0를 추가해서 모든 외부 IP에 대해 열어놓는 방법이 있습니다. 물론 개발 환경에서만 임시로 사용하는 것이 좋습니다.
  3. DNS 및 방화벽 확인

    • ECONNREFUSED 오류는 호스트 해석 실패나 방화벽 설정과 관련될 수 있습니다. 로컬 컴퓨터, 특히 방화벽이 MongoDB의 기본 포트인 27017을 허용하는지 확인해 주세요.
  4. MongoDB 서비스 상태 확인

    • MongoDB 클러스터가 정상적으로 실행 중인지 확인합니다. 문제가 발생하는 클러스터가 아닌 다른 클러스터에서도 동일한 문제가 있는지 테스트해 보세요.

위 조치 사항을 참고하셔서 하나씩 확인해 보시기 바랍니다. MongoDB Atlas의 공식 문서나 Q&A에서도 비슷한 문제를 해결하는 방법을 제공할 수 있으니 참조해 보세요.

추가적인 도움말:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

hicy3nh님의 프로필 이미지
hicy3nh

작성한 질문수

질문하기