2017년 3월 14일 화요일

Mongo script 로 index 관리하기

MongoDB로 작업할 일이 있는데, 매 번 아래처럼 작업하는 것이 조금 귀찮은 일이었습니다. 개발을 하거나 시간이 여유로운 경우라면 문제 없지만, 저처럼 고객사에 방문 작업을 할 때 이런 작업은 무엇보다 정확성에서 문제가 되거든요. 그래서 스크립트로 작업할 수 있는 방법을 찾아보았습니다.

$mongo --host 10.10.10.10:27017
> use admin
> db.auth("root", "password")
> use dbname
> db.auth("test", "test123")
> db.test.ensureIndex({"testId": 1})

위와 같이 interactive한 작업은 매번 수작업으로 입력해야 하는 부분이 많아서
반복적인 작업에는 별로 권장할 만한 것은 아니지요. 그래서 이 작업을 명령줄에서 한번에 작업하는 방법을 찾아보았습니다. --eval 옵션이나, js 파일로 만들어 작업하는 방법들이 많이 소개되고 있었는데, 저에게 적합한 방법은 아래와 같이 작성하여 사용하는 것인듯 합니다.

$mongo --host 10.10.10.10:27017 dbname --username root --password password <<< 'printjson(ensureIndex({"testId": 1})'

$mongo --host 10.10.10.10:27017 dbname --username root --password password <<< 'db.system.indexes.find();'

이제는 하나씩 정리를 해 두어야 될 때가 된것 같습니다. 자꾸 잊어버리네요 :)


댓글 없음:

댓글 쓰기

MySQL 에서 [ERROR] Can't find messagefile '/usr/share/mysql/english/errmsg.sys' 발견 시 조치방법

AWS의 EC2 기반으로 CentOS 6.8을 올리고 MySQL을 설치 중이었는데, 아래와 같은 오류를 보게 되었습니다. 보통은 yum 으로 설치했을 때 문제없이 설치되었는데, 아마도 OS 설정이 조금 다른 탓인지 오류가 발생해서 찾아 보았는데요. ...