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 방법을 확인 할 수 있습니다.
riptutorial.com/ko/mongodb/example/21736/csv%EB%A1%9C-mongoimport%ED%95%98%EA%B8%B0
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.들어간 데이터 재확인
정상적으로 출력됩니다.
'DataBase > NoSQL' 카테고리의 다른 글
[NoSQL] MongoDB capped collection, TTL collection (0) | 2021.01.19 |
---|---|
[NoSQL] python에서 MongoDB연동시키기 (0) | 2021.01.14 |
[NOSQL] MongoDB의 역할 및 활용 사례 (0) | 2021.01.08 |
[NOSQL]MongoDB 기본 명령어 (1) | 2021.01.07 |
[NoSQL]NoSQL(Not Only SQL) 종류와 특징 간단히 정리 (0) | 2020.10.08 |
댓글