1. user의 패스워드가 있으면 에러가 발생!
에러명: MongoAPIError: URI must include hostname, domain name, and tld at resolveSRVRecord
발생 이유: Mongo DB에서 비밀번호에 포함된 특수문자는 ASCII code로 변환해서 사용해야 한다는 것!
해결방안은 위 사이트를 참고 했을 때 크게 두 가지 인데,
해결방안 1. 현재 설정된 비밀번호를 아스키코드로 변환하여 사용하자.
위 사이트를 참조하면 방법은 간단하다. 각각의 언어별로 소개되어 있으나, 현재 필자가 사용중인 것은 node.js 즉, JavaScript이므로
이와 같이 encodeURIComponent()를 사용하여 변환을 해준뒤 해당 값을 본래 URI에 사용하면 된다.
기타 다른 언어의 변환방법이 필요하다면 위 사이트를 참고하길 바란다.
해결방안 2. 자동 생성 비밀번호를 사용하자.
사용하려는 비밀번호를 본인이 만들어도 되지만, Mongo DB에서는 친절하게 비밀번호 자동생성을 지원한다. 비밀번호 생성에서 문제가 발생했다면 대안으로 해당 기능을 활용하여 생성하는 것도 하나의 방책이다. 하지만, 이 경우 비밀번호를 잊어버릴 수도 있기 때문에, 어딘가에 적어두거나 저장해둘 필요성이 있다.
반응형
'코딩 | 개념 정리 > DataBase' 카테고리의 다른 글
crbug/1173575, non-JS module files deprecated 문제 해결 (0) | 2022.07.23 |
---|---|
DataBase Naming 규칙 (0) | 2022.05.18 |