티스토리 뷰
mongodb 서버를 이전해야할일이 생겼는데
구서버의 mongodb는 3.2버전,
신서버의 mongodb는 4.2버전이더라고요
아무래도 메이저 버전의 차이가 있어서 기존 호환성이 많이 깨지거나 마이그레이션이 실패하면 어쩌나 걱정을 많이 했는데 생각보다 어렵지 않은 작업이었습니다.
아마도 고급 쿼리를 많이 쓰지 않은탓도 있던것 같습니다.
mongodump와 mongorestore를 이용한 데이터 옮기기는 아무런 문제없이 매우 쉽게 성공하였습니다
백업(/backup/mongodump-latest 폴더에 백업파일 생성)
# mongodump --out /backup/mongodump-latest --db 디비명
복원(/backup/mongodump-latest의 백업파일을 복원)
# mongorestore /backup/mongodump-latest
일단 데이터 덤프와 복원이 너무 쉽게 한방에 되었고
데이터를 올렸으니 mongodb를 실행하고 어플리케이션을 실행해보았습니다.
역시 너무 쉽게 생각했었나요 어플리케이션에서 동작에 문제가 있긴 있군요
뭔가 찾아보니깐 geoNear 커맨드가 동작하지 않더라구요.
https://docs.mongodb.com/manual/release-notes/4.2-compatibility/
Remove Support for the geoNear Command
Starting in version 4.2, MongoDB removes the geoNear command. Use the $geoNear aggregation stage instead.
변경된 부분을 추적해보니 4.2에서 변경이 있었네요
경도와 위도 기반으로 가까운 위치의 레코드를 찾는 geoNear command가 삭제되고,
대신에 $geoNear aggregation을 사용하라고 합니다.
https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/#pipe._S_geoNear
command에서 aggregation으로 바뀌면서
파라메터는 대부분은 같지만 몇가지가 변경점이 있고
리턴값의 형태도 당연히 변경되었습니다.
이러한 변경점으로 어플리케이션이 원하는 json 리턴을 받지 못하여 문제를 발생시켰던것이었네요
다행히 저는 이것말고는 문제없이 이전을 마무리하였습니다
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
minio를 이용해 로컬개발환경에 s3를 세팅하는 방법 (0) | 2020.04.21 |
---|---|
이미 진행중인 프로젝트에 vue 직접 추가해보기 (0) | 2020.04.17 |
구형 리눅스(centos5)에서 아파치 2.4 설치하기 (0) | 2020.04.06 |
gitlab 사용시 401 Unauthorized while accessing 오류 발생하면 (0) | 2020.04.05 |
dagger2 android viewmodel 과 사용하기 (0) | 2019.12.20 |
- Total
- Today
- Yesterday
- 아이폰
- 앱스토어
- 게임
- 자바스크립트
- 어플리케이션
- 아이디어
- 구글
- 트위터
- 웹표준
- 스마트폰
- iPhone
- Apple
- 모바일
- 창업
- CSS
- 대학생
- 애플
- 네이버
- AWS
- android
- 벤처
- 소프트웨어
- 경진대회
- 공모전
- php
- JavaScript
- 앱
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |