<포스팅에서 사용될 용어 참고>
RDBMS로 대응해서 이름을 변환하면 이렇습니다.
테이블 = 컬렉션
로우 = 다큐먼트
컬럼 = 필드
<상황>
몽고 DB에 로컬 데이터를 넣어본다.
<전제>
몽고 DB 설치되어 있고, 켜져 있음.
데이터 타입은 gz(mongodump로 export된 형태)
참고)
*압축파일이라면?
gz 로 압축되어 있더라도, 알아서 압축 풀어주니 그냥 올리자.
*bson이나 metadata처럼 처음 보는 놈들이 딸려왔다면?
Mongodump 명령어로 내보내기 된 데이터는 metadata.json, bson 이렇게 두 가지 형태가 같이 있다.
ex) a.bson, a.metadata.json
메타데이터는 찐 데이터를 설명하는 용도이므로 실제 데이터가 아니다. (= 데이터를 설명하기 위한 데이터)
그래서 몽고디비에 메타데이터, 실제 데이터를 올려준다면 몽고디비가 메타데이터를 참고하여 실제 데이터를 해석한다.
메타데이터는 컬렉션에 올라가는 데이터가 아니다.
1.CLI로 올리기
로컬 DB 어떻게 키냐면요? 터미널에서 아래 명령어 입력합니다.
mongosh
(저는 iterm2를 사용했습니다.)
다른 터미널 탭을 연다.
➜ ~ mongorestore
--db mydb
올릴 파일 경로
→ 업로드 됩니다.
(mydb는 db이름)
우리는 'mongorestore'를 사용해서 데이터를 import해보았는데요
mongo db에 데이터를 올릴 때 명령어는 크게 두가지가 있습니다.
mongorestore //mongodump로 만들어진 바이너리 구조 파일을 몽고 db에 복원할때 사용(인덱스구조 등도 그대로 가져오기에 백업이라고 표현한다)
mongoimport // csv,json,tsv 등 평문 데이터 파일을 집어넣을 때
<업로드 된 결과물>
->mongodb는 데이터가 트리구조로 저장된다!

처음에 이런식으로 필드 안의 필드가 있어서 당황했다 .
원래 필드 안에는 값이 있어야하는거아닌가!
age = 26 이런식으로 .. 그럼 저 필드란을 눌러보면 ? ({5 fields}클릭)

이렇게 또다시 다섯개의 필드가 나온다 ~
다큐먼트아이디는 pk로 자동할당 .
그리고 저 안에서도 단순 값이 아니라 []중괄호 내에 elements의 갯수.
즉 배열이 나온다.
필드안의 필드. 즉 트리구조로 뻗어나가면서 저장되고 있다.
'DB > MongoDB' 카테고리의 다른 글
| DB 조인 vs 애플리케이션 조인 (2) | 2025.09.13 |
|---|---|
| Typegoose:: Java에 “애노테이션”이 있다면, TypeScript에는 ‘데코레이터’가 있다 (1) | 2025.09.13 |