MongoDB 설치와 사용법

함배·2023년 2월 5일
0

Node공부를 하며 MongoDB를 설치하다가 오류때문에 꽤나 고생을 했다ㅜㅜ
다음 번을 위하여... 나와 같은 사람들을 위하여 정리를 해보려한다!
.
.
.

MongoDB 설치하기

  1. Mongodb 홈페이지 https://www.mongodb.com/try/download/community

먼저, 홈페이지에서 커뮤니티 서버를 다운받는다!

  1. 설치 파일을 실행해 설치를 진행한다. 대부분 [next]를 누르면 되고 'Choose Setup Type'이 나오면 Complete로 선택해준다!!
    (원하는 설정을 하고 싶다면 'Custom'으로 선택해도 무방함)

  2. 'Service Configuration'단계에서 중요한 점은 'Install MongoD as a Service' 체크박스를 선택하게 되면 클라우드가 내 데이터베이스 서버가 된다! 클라우드로 MongoDB를 이용하고 싶다면 체크를 하고 아니라면 해제를 하자. 난 해제를 하고 진행했다.

  3. 'Install MongoDB Compass'부분에서 왼쪽 밑에 Install MongoDB Compass'를 체크하고 설치를 진행하면 MySQL의 워크벤치와 비슷한 역할을 하는 Compass까지 함께 설치가 된다!

설치 과정 사진 출처
: https://khj93.tistory.com/entry/MongoDB-Window%EC%97%90-MongoDB-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

.
.
설치가 완료된 후 지금부터 복잡해졌다.
책에는 bin 파일로 이동을 하고..~환경변수 설정을 하고..~mongo명령어로 mongodb서버를 실행해라..~라고 써있는데 버전 6.0이상에서는 적용되지 않는 점들이 많았다..ㅜ.ㅜ
.
.
열심히 검색을 해서 알아낸 결과!!
.
.
6.0이상 버전에는 mongo.exe가 없어서 mongo명령어를 실행할 수 없다!
그래서 환경변수를 설정해보아도..cmd창에 죽어라 mongo를 입력해보아도 다음과 같은 오류만 뜨고 되지 않았던 것이다.

.
.
해결방법은 MongoDB shell을 설치해주는 것이다.
.
.

MongoDB shell 설치하기

  1. MongoDB Shell : https://www.mongodb.com/try/download/shell
    위 링크로 들어가 MongoDB shell을 다운받는다.

  2. zip 파일이 다운로드 된 후 경로를 설정해 압축을 풀어준다.

사용방법

  1. mongoDB를 설치한 경로로 이동한다.
  2. mongod.exe를 실행해준다. 이것이 몽고 디비 서버가 된다.
    실행 후 끄지 말고 둬야 몽고디비 서버가 돌아간다. (만약 터미널을 끄게되면 몽고디비도 꺼지니 주의!)
  3. mongoDB shell을 설치한 경로로 이동한다.
  4. mongosh.exe를 실행해준다. cmd창을 두개 띄우고 해야 몽고디비가 실행되는 것이다.
  5. 이제 mongosh.exe에 MongoDB 명령어를 이용해 사용하면 된다!

.
.
.

MongoDB 명령어


use roadbook

: use 데이터베이스명 은 MySQL에서 use database;로 해줬던 것처럼 database를 생성해주는 역할을 한다.


db

: 현재 Collection이 무엇인지 알고싶을 때 사용한다.


 db.createCollection("컬렉션명")

: Collection을 생성한다.


show collections

: Collection을 조회한다.


db.Collection명.insert({"key":"value"})

: 데이터 생성


db.Collection명.find()

: 데이터 조회


db.Collection명.find(query, projection)

: 원하는 데이터만 조회 가능. query는 조회하는 기준을 정하고 기준이 없다면 {}을 입력, Projection은 보여 주고 싶은 Field를 설정한다. Field:0이면 해당 필드만 보지 않기, Field:1이면 해당 필드만 보기 명령


db.Collection명.remove({"key":"value"})

:해당 키와 값이 있는 Document 삭제


db.[collection명].drop()

: 컬렉션을 삭제하는 명령어


db.dropdatabase()

: 데이터베이스를 삭제하는 명령어


이 외에도 다양한 명령어들이 많은데, 공식문서를 보며 나에게 유용할 것 같은 명령어와 옵션을 정리하며 익혀 놓아 나만의 공식 문서를 만들어본다면, 쿼리나 명령문 작성 시 다른 사람이 정리해 놓은 글보다는 내가 정리해 놓은 글이 더 찾기도 쉽고 이해도 빠르기 때문에 개발 속도도 높일 수 있을 것이다!!

profile
아둥바둥 개발자

0개의 댓글