본문 바로가기
DataBase/NoSQL

[NOSQL] MongoDB Shell(명령어)로 CSV, JSON import 해보기

by 스파이디웹 2021. 1. 11.
728x90

testdb 데이터베이스,testdb collection 생성, 직접 데이터 입력

1)show dbs 를 통한 database 목록확인

 

2)use testdb 를 이용한 데이터베이스 생성 및 사용

 

3)db.testdb.insert({"example":"ex1"})를 통한 collection 생성 및 데이터 삽입 // db는 현재 데이터베이스, testdb는 생성할(사용할) collection 이름

 

4)db.testdb.find()를 통한 데이터 확인

 

5)show dbs를 통해 만들어진 데이터베이스 확인

 

#여기까지가 전에 했던 내용.

 

spidyweb.tistory.com/163?category=833086


지금부터는 shell을 통해 CSV,JSON 파일을 import 하는 방법을 소개해드리겠습니다.

1.data.go.kr 에 들어가서 json파일을 검색한다.

 

2.테스트 용이니 csv혹은 json 파일 다운받으러 들어간다.

3. 올린 파일데이터의 CSV,JSON 다운로드

4.이제부터 import를 해볼텐데. 이 import는 사전에 MongoDB database tools에 포함되어있는 내용이다.(4.4버전부터 분리함)

www.mongodb.com/try/download/tools에서 다운을 받고 mongo shell이 아닌 command prompt 혹은 system shell에서 이 작업을 수행해야한다.

 

환경 변수 설정을 해줘야 system shell에서 부를 수 있으므로,

환경 변수 추가 해준다.

 

5. system shell통한 import

docs.mongodb.com/guides/server/import/

 

Import Data into MongoDB

Go to cloud.mongodb.com to login to your user account. In the cluster panel, click the “…” button as pictured below. Select Command Line Tools from the menu. Under the Import and Export Tools header, you will see two copyable command line strings. Co

docs.mongodb.com

에서도 import 방법을 확인 할 수 있습니다.

 

riptutorial.com/ko/mongodb/example/21736/csv%EB%A1%9C-mongoimport%ED%95%98%EA%B8%B0

 

MongoDB - CSV로 mongoimport하기 | mongodb Tutorial

mongodb documentation: CSV로 mongoimport하기

riptutorial.com

 

cmd -> mongod -> mongoimport 명령어

mongoimport --db 데이터베이스이름 --collection 콜렉션이름 --host "연결될 호스트주소" --file "파일의 위치\파일이름.확장자"

 

를 했더니 밑에 처럼 Failed: cannot decode array into a D 라고 오류가 떠서 확인해보니.

stackoverflow.com/questions/58150528/mongodb-atlas-mongoimport-issues-cannot-decode-array-into-a-d

 

json 파일안에 jsonArray 가 있어 --jsonArray를 추가해줘야 된다고합니다.

 

mongoimport --db 데이터베이스이름 --collection 콜렉션이름 --host "연결될 호스트주소" --jsonArray --file "파일의 위치\파일이름.확장자"

 

로 하니 잘됩니다.

 

6.들어간 데이터 확인

잘 들어 갔습니다만 파일내의 글씨들이 깨져서 나옵니다. 이런경우엔

 

6-2 인코딩 문제 해결

 

해당 json파일을 열어 인코딩을 UTF-8로 바꿔서 저장해줍니다.

 

이후 같은 방법으로 다시 import를 시도하신다면.

 

6-3.들어간 데이터 재확인

정상적으로 출력됩니다.

728x90

댓글