
2021년 9월 3일에 작성된 문서 2번 입니다.
MongoDB 배운 내용을 정리했습니다.
{}로 도큐먼트가 시작하고, 끝나야 한다.- 필드와 값이 콜론(
:)으로 분리되어야 한다- 필드와 값을 포함하는 쌍은 쉼표(
,)로 구분.- 문자열인 필드도 쌍따옴표(
"")로 감싼다.

JSON은 텍스트 형식이기 때문에 읽기 쉽지만, 파싱이 느리고 메모리 사용이 비효율적입니다. 그리고 JSON은 기본 데이터 타입만을 지원하기 때문에, 사용 할 수 있는 데이터 타입에 제약이 있습니다.

MongoDB는 JSON형식으로 작성된 것은 무엇이든 데이터베이스에 추가할 수 있고, 쉽게 조회할 수 있습니다.
그러나 그 내부에서는 속도, 효율성, 유연성의 장점이 있는 BSON으로 데이터를 저장, 사용하고 있습니다.
조건따라, 가져오거나 내보낼 때 사용 가능한 명령어가 각각 존재.
크게 두 가지로 나누어진다.
| JSON 형식 | BSON 형식 |
|---|---|
가져오기: mongoimport | 가져오기: mongorestore |
내보내기: mongoexport | 내보내기: mongodump |
| JSON 형식 | BSON 형식 |
|---|---|
내보내기: mongoexport | 내보내기: mongodump |

mongodump를 하는 경우, 별다른 쿼리가 없지만, mongoexport를 하는 경우, 해당 데이터베이스의 컬렉션 이름, 파일 이름까지 정확하게 작성해야한다.
mongodump 예시 (BSON)
mongodump
--uri "mongodb+srv://[주소].mongodb.net/sample_supplies"
mongodump 명령어를 통해, 아틀라스 클러스터 안에 있는 sample_supplies 라는 데이터베이스를 로컬 머신으로 BSON 형식의 데이터로 내보냈습니다.

dump 폴더 안에 sample_supplies 데이터베이스 폴더가 생성sales.bson 파일이 생성됨. sale.bson 파일을 열어보니, BSON 형식의 데이터를 확인 가능. mongoexport 예시 (JSON)
mongoexport를 사용하여, JSON 형식의 데이터를 내보낼 때에는 내보낼 컬렉션과 파일의 이름을 정확히 명시해야 합니다. 그리고 로컬 머신으로 내보낸 sales.json 파일을 열어보겠습니다.

sales.json 파일 안의 JSON 형식의 데이터를 볼 수 있다. | JSON 형식 | BSON 형식 |
|---|---|
가져오기: mongoimport | 가져오기: mongorestore |

drop 쿼리문은 선택적으로 사용할 수 있다. mongorestore 예시 (BSON)이 예시에서는 mongodump를 통해 가져온 BSON 형식의 파일을 다시 mongorestore를 통해 아틀라스 클러스터로 복원 시켜보도록 하겠습니다.

mongoimport 예시 (JSON )
파란색 블록에서는 해당 데이터가 삽입되는 컬렉션을 지정하지 않았지만, 아래 초록색 블록과 같이 컬렉션 이름을 지정하는 등의 부가적인 옵션을 추가 할 수 있습니다.
Written with StackEdit.