****주의****
만약 당신이 몽고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
'JS > Mongodb' 카테고리의 다른 글
mongodb 버리고 관계형 db로 갈아타자 (0) | 2018.06.01 |
---|---|
Mongodb unique key 값 삭제하기 MongoError: E11000 duplicate key error index (0) | 2018.04.22 |
Nodejs Mongoose 게시물 페이징처리하기 (0) | 2018.04.12 |
MeanStack - Mongoose에서 데이터를 찾아서 Json으로 내보낼때 throw new TypeError('first argument must be a string or Buffer'); (1) | 2016.07.19 |
MeanStack - 몽구스에서 콜렉션을 참조할때 끝에 s를 붙여서 참조해버릴때 (0) | 2016.07.19 |