전에 공부했던 SQL 기반의 MySQL과 다르게 MongoDB는 NoSQL로 분류되는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다.
mongo는 humongous(엄청난) 의 줄임말로 수평적인 특징을 가지고 있어서 확장이 쉬운 MongoDB와 잘 어울리는 이름이다.
RDBMS 보다 속도가 훨씬 빠르다는 장점이 있지만, 이는 일관성이 없다는 특징에서 나온 것이다.
그래서 금전적인 것들이 포함되어 있으면 RDBMS를 사용하는 것이 좋다.
또 다른 특징은 저장할때 BSON을 사용한다는 것이다. BSON은 이진법에 기반을 둔 표현법이다.
컴퓨터 언어와 JSON 보다 비슷하니 메모리 사용을 효율적으로 한다.
MongoDB의 데이터는 BSON 속도가 빠른 저장되고, JSON 사용자가 읽기 쉬운 형태로 출력이된다.
그래서 import와 export는 BSON과 JSON 각각 두 개의 방법이 존재한다.
BSON 형식의 데이터를 내보내는 명령어는 mongodump이다.
mongodump --uri "<connectionUri>"
JSON 형식의 데이터를 내보내는 명령어는 mongoexport이다.
mongoexport --uri "<connectionUri>" --collection=<collectionName> --out=<fileName>.json
JSON 형식의 데이터를 내보낼 때는 컬렉션과 파일명까지 정확하게 명시해야 한다.
BSON 형식의 데이터를 가져오는 명령어는 mongorestore이다.
mongorestore --uri "<connectionUri>" --drop dump
JSON 형식의 데이터를 가져오는 명령어는 mongoimport이다.
mongoimport --uri "<connectionUri>" --drop=<fileName>.json
여기서 기존에 있는 데이터를 삭제하기 위한 옵션인 drop명령어는 선택적으로 사용할 수 있다.