목차

반응형

****주의****

만약 당신이 몽고DB를 3.4에서 3.6으로 업데이트를 할 것이라면

업데이트 하기전에 db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } )명령어를

친다면 매우 수월하게 작업 할 수 있음.



몽고DB 3.4에서는 aggregate에서 let과 pipeline을 통해 join에  2개 이상의 조건을 달 수 없다.

그렇게 어쩔수 없지 매우우우 귀찮지만 3.4에서 3.6으로 업데이트를 하기로 했다.

lookup aggregate 관련 문서

https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/



잠깐 맛탱이가 갔는지 쓰지도 않는 노트북의 윈도우 몽고 db 3.6을 설치했다.

https://www.mongodb.com/download-center?&_ga=2.120737096.1701553497.1524490974-915795993.1521988095#production



오 근데 윈도우에서 sql studio처럼 몽고db를 프로그램을 통하여 관리할 수 있는

gui 관리 프로그램이 있다는 것을 깨달았다. 나름 개이득본듯?



일단 아래 명령어로 모듈을 설정하는 곳으로 이동

cd /etc/yum.repos.d 



몽고db repo 생성

sudo vi mongodb-org-3.6.repo

[mongodb-org-3.6]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc



이후

sudo yum install -y mongodb-org-3.6



그리고 나서 몽고db를 키려니까

** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.4 before attempting an upgrade to 3.6; see http://dochub.mongodb.org/core/3.6-upgrade-fcv for more details.

메시지가 뜨면서 실행이 안된다.



아니 진작말하지 개빡치게 3.6으로 설치해놨더니

다시 몽고db 인스턴스를 켜서 db.adminCommand( { setFeatureCompatibilityVersion: "3.6" } ) 명령어를 치라고 한다.

근데 몽고db 인스턴스를 키려면 3.4버전으로밖에 킬 수가 없다.

그래 그러면 다시 다운그레이드를 해야지



몽고db를 다운그레이드를 하는 방법

몽고db 인스턴스를 킨다.

db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } ) 명령어를 친다.



아니 도랐나 이때 ㄹㅇ 개빡쳐서(지금보니까 공식 레퍼런스에서는 미리 저 명령어를 쳐두라고 나와있음 근데 귀차나서 걍 설치과정만 읽은듯 ㅉㅉ)

이때부터 아무생각없이 그냥 다 날려버리고 재설치했다.




아래는 매우 빡친 순간에서 만난 에러 코드다.


mongodb shutting down with code:62

/data/db 폴더 삭제 => 데이터 날라가는데 아무 생각없이 걍 날려버림;;


shutting down with code:100

sudo mongod


WARNING: This server is bound to localhost.

2018-04-24T00:29:30.434+0900 I CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server.

--bind_ip_all


lock 관련 오류

mongod --repair

반응형