
💜 MongoDB 설치 확인하기 💜
mongo -version
cmd 창을 열고 위와 같이 입력한다. 몽고 (DB 5.0.3 버전 기준.)
현재 버전인 5.0.6에서는 이 명령어가 안 먹힌다.
💜 Mongo 클라이언트로 DB서버 접속하기 💜
mongosh
cmd 창을 열고 위와 같이 입력한다.
💜 MongoDB 사용하기 💜
Code >>>
show dbs
데이터 베이스(DB) 전체 목록 보기
: 현재까지 생성된 전체 DB 목록을 조회한다. 몽고 DB에는 기본적으로 admin, config, local 이라는 DB가 존재한다. DB 이름과 함께 우측에는 DB 용량도 표시되어 있다.
.png)
Code >>>
use [DB이름]
데이터베이스(DB) 생성 및 조회
해당 DB로 이동한다. 이동하고자하는 DB 이름이 목록에 존재하지 않으면 해당 DB 이름으로 DB를 새로 생성하고, 해당 DB로 이동한다. 하지만 생성한 DB는 show dbs를 해봐도 보이지 않는다.
왜냐하면, DB에 컬렉션이 하나 이상 존재하고, 컬렉션 안에도 도큐먼트가 하나 이상 존재해야 생성한 DB가 목록에 나타나가 때문이다.

.png)
Code >>>
db.[컬렉션이름].insert()
하나의 도큐먼트 (document) 생성
특정 컬렉션에 도큐먼트를 추가하려면 insert 메서드를 사용하면 된다. 위에서 Haeryun 은 컬렉션 이름이다. 컬렉션에는 insert 메서드가 존재하며 이를 이용하여 새로운 도큐먼트 객체를 추가할 수 있다. 도큐먼트를 생성할 때 name, age 와 같은 필드명에는 따옴표("")를 붙여주지 않아도 제대로 생성이 된다.
위 이미지에 입력한 코드를 분석해보면 다음과 같다.
db.birthday.insert({"name":"Haeryun", "age":99, like:["hamster", "meat","cool"]})
db안에 있는, birthday라는 콜렉션 안에, 새로운 도큐먼트를 생성한다. 그 도큐먼트의 속성은 name, age, like가 있다. (그리고 그 뒤에 붙은 건 세부적인 속성값이다.)
다수의 도큐먼트 생성
다수의 도큐먼트를 생성하기 위해서는 다음과 같은 코드를 기입하면 된다.
db.[컬렉션 이름].insertMany()
실제로 사용하는 방법은 다음과 같다.
이 오브젝트들이 잘 있는지 보려면 다음과 같은 커멘드를 입력하면 된다.
db.[컬렉션 이름].find()
위 find 메서드는 해당 컬렉션의 전체 도큐먼트 목록을 조회하는 커멘드이다. 입력한 데이터 값들이 잘 들어가있다. 뿌듯하다.
도큐먼트 ID 값은 _id 라는 필드명으로 존재한다. 한가지 주의할 점은 컬렉션의 도큐먼트 목록을 조회하기 전에 해당 컬렉션이 존재하는 DB 로 이동해야한다.
위 메서드를 조금 더 심화해서 써보자.
db.[컬렉션 이름].find({필드명:VALUE})
컬렉션의 find 메서드는 검색하고자 하는 도큐먼트의 필드명과 값을 설정할 수 있다. 이렇게 하면 특정 필드의 값과 일치하는 도큐먼트를 검색할 수 있다.
관계형 데이터베이스의 where 키워드와 유사하다. 위 예시에서는 birthday 컬렉션에서 name 필드의 값이 문자열 Haeryun과 일치하는 모든 도큐먼트를 검색한다.
즉, 여러 개의 도큐먼트가 검색될 수 있다. 물론 콤마(,)를 이용하여 검색하고자 하는 다수의 필드명과 값을 설정할 수도 있다.
쿼리 연산자에 대한 자세한 내용은 위 사이트를 참조할 것.
쿼리 연산자는 도큐먼트를 검색할 때 약어를 사용하여 검색 조건을 설정한다. 쿼리 연산자는 연산자(name)앞에 달러($)로 표기해준다.
db.[컬렉션 이름].find({필드명: {쿼리 연산자: VALUE }})
위는 쿼리 연산자 $gt(greater than) 을 사용한 결과이다. birthday 컬렉션에 입력된 도큐먼트들 중에서 age의 필드가 20보다 큰 도큐먼트들이 검색된다.
반대로 해당 조건보다 작은 값들을 검색하고 싶으면 $lt(less than)을 입력하면 된다.
.png)
db.[컬렉션 이름].drop()
컬렉션 제거
컬렉션의 drop 메서드는 해당 컬렉션을 제거한다. 해당 컬렉션이 제대로 제거되었는지 확인하기 위해서는 해당 컬렉션의 find 메서드로 전체 도큐먼트를 조회해 보거나 컬렉션 목록을 조회해보면 된다.