본문 바로가기

에러/mongodb8

[MongoDB] unable to correct problems you have held broken packages 에러 나의 경우 aws lightsail에 mongodb 를 설치하는 과정에서 에러가 발생하였다. 당연히 ubuntu 18.04 또는 20.04 일것이라는 생각으로 해당 버전으로 mongodb 설치를 시도했다 아무리 해도 안돼서 서버의 우분투 버전을 확인해보았다. cat /etc/issue or lsb_release -a 다음 명령어로 서버의 버전을 확인한다. 나의 경우 Debian 10 “Buster” 이었고, 이에 맞는 mongodb를 설치하여 해결하였다 혹 해당 에러가 발생한다면 서버의 버전을 확인해보는 것이 좋을 것이다 2021. 3. 31.
[MongoDB] mongoerror authentication failed 에러 docker-compose 를 사용해 nodejs와 mongodb를 연결하는 과정에서 발생한 에러이다. docker exec로 mongodb에 접속해 mongo를 활성화해보니 일반 계정과 루트 계정이 나뉘어있고, docker로 nodejs에서 mongodb에 접속할 때는 자동으로 루트 계정으로 접속이 되는것 같다. (이부분은 확실하진 않다.) 따라서, mongoose를 통한 연결 시 auth 관련 문구를 추가하여야 한다. mongoUrl = 'mongodb://id:password@host:port/dbName?authSource=admin&authMechanism=SCRAM-SHA-1; mongoose.connect(mongoUrl); 2021. 3. 18.
[MongoDB] password에 @ 가 포함되어 있을 시 Mongoose를 통해 MongoDB에 유저 아이디와 비밀번호를 거쳐 연결하려고 할 때 구문 상의 에러가 발생한다. 이 경우 해결 방법은 두 가지가 있다. 1. ${encodeURIComponent('P@ssword')} 를 통해 @가 포함된 비밀번호를 사용할 수 있다. const dbUrl = `mongodb://Username:${encodeURIComponent('P@ssword')}@localhost:27017/dbName`; 2. @를 %40 으로 변환하여 사용할 수 있다. const dbUrl = `mongodb://Username:P%40ssword@localhost:27017/dbName`; 2021. 3. 18.
[MongoDB] getaddrinfo eai_again mongo 에러 Docker-compose를 통해 nodejs 와 mongodb 를 실행하는 과정에서 발생한 에러이다. 로컬에서 돌릴 때에는 “mongodb://localhost:27017/dbName” 만으로 실행됐으나, DB를 도커에서 돌리다보니 유저 아이디와 비밀번호를 함께 설정해 접속을 해야하는 것 같다. "mongodb://username:password@host:port/dbName" 의 형태로 변경하여 에러를 해결하였다. 2021. 3. 18.
[MongoDB] command listcollections requires authentication 에러 Docker를 사용해 Mongodb를 실행하고, 컨테이너에 접속, dump 파일을 복원하기 위해 mongorestore 명령을 실행한 상황에 don't know what to do with file skipping mongorestore라는 문구와 함께 발생한 에러이다. auth 문제로 인해 발생한 에러이므로, 이에 대한 설정을 해주어야 한다. 기존 mongorestore 명령에 --authenticationDatabase admin 를 추가하여 에러를 해결하였다. mongorestore -u USERNAME -p PASSWORD --authenticationDatabase admin -d dbName PATH/ 2021. 3. 18.
[MongoDB] Username and password must be escaped according to RFC 3986, use urllib.parse.quote_plus() 에러 몽고디비를 불러올 때 발생하는 에러로 유저네임이나 패스워드에 문제가 있을 때 발생한다. 에러Username and password must be escaped according to RFC 3986, use urllib.parse.quote_plus() 해결mongo_uri = "mongodb://username:" + urllib.quote("password") + "@127.0.0.1:27001/" urllib.quote를 사용해 유저네임이나 패스워드를 따로 분리해 적용하면 된다 2021. 1. 8.