본문 바로가기

CS+/SQL

MongoDB 입문 1단계 실행 (start, status, use) , 입력(insert)

MongoDB 에 간단한 명령어와 실행하는 법을 다뤄보겠습니다.

설치와 관련해서는 다루지 않습니다. 

이미 관련 글이 많이 있고, 예전에 설치를 해놓아서 굳이 지우고 재설치하기에는 귀찮아서...ㅎㅎ 

 

만약, 윈도우를 쓰시는 분이라면 우분투를 가상머신으로 설치해서 MongoDB를 설치해주세요 :)

우선, 터미널을 열고 mongodb를 실행해주세요.

명령어는 

 

# mongodb 실행

$ service mongodb start 

 

$mongodb 상태 확인

$ service mongodb status

 

# mongodb 실행종료

$ service mongodb stop

자, 그러면 위 명령어대로 실행을 해주시면 됩니다. 

그리고 

 

Failed to start mongod.service: Unit mongod.service not found 에러가 발생한다면,

https://devlog.jwgo.kr/2019/02/26/how-to-install-mongodb-on-ubuntu/

 

우분투(Ubuntu)에 몽고디비(MongoDB) 설치하는 법과 오류 해결 방법 · Tonic

사이트 운영에 도움을 주실 수 있습니다. 고맙습니다. --> 우분투(Ubuntu)에 몽고디비(MongoDB) 설치하는 법과 오류 해결 방법 2019년 02월 26일 기본적으로 몽고디비 설치는 mongodb.com의 공식 매뉴얼을 따르면 된다. 간단히 해당 절차를 살펴보고 쉽게 만날 수 있는 에러 메시지를 어떻게 해결하는지 확인해본다. 설치방법 패키지의 일관성과 훼손을 막기 위해 배포자가 서명한 GPG 키 임포트하기 sudo apt-key adv --key

devlog.jwgo.kr

위 글을 참고하셔서 해결해주시면 됩니다 :)

 

mongodb 를 실행했다면 mongo 를 입력해서 명령어를 칠 수 있는 상태로 열어주세요!

 

### mongo 실행한 상태에서

$ Show dbs
- db 목록 뜸.
$ use (쓰려고 하는 db) 
-switched to db (쓰려고 하는 db) 

$ Show collections
- 연결된 db 의 컬렉션 목록 뜸.

 

으로 확인을 해봅니다. 

 

저는 Robo 3T도 설치해줘서 gui 환경으로도 보고 있습니다. 

mongodb 를 터미널에서만 해줘도 되지만 gui 환경에서도 실행하게 해주는 Robo 3T 가 있으니, 한 번 설치해주셔도 됩니다.

쓰는 법은 똑같고 GUI라서 좀 더 보기도 쓰기도 편하기도 합니다.

 

 

지금부터, 터미널과 Robo 2가지를 혼합하면서 실습할게요 

명령어는 동일하니 아래 robo 의 쉘에서 치는 명령어를 터미널에서 치면 똑같이 실행됩니다 :)

 

# db 현황 확인 

$ db.stats() 

 

# collection 확인

db.mycollection01.stats()

 

# collection 삭제 

$ db.컬렉션명.drop() 

 

collection 과 doc 는 rdbms 의 테이블과 컬럼과 비슷한 개념입니다. 

물론 noSQL인 mongodb의 document 는 컬럼의 집합체와 같은 느낌이랄까요? (비유를 하자면 그렇다는 겁니다~:)

 

 

자, 그러면 컬렉션을 생성 후 document 를 집어넣어보겠습니다. 

 

위에서 db.getColl~ 와 db.users.find() 는 결과가 같습니다 :) 

 

차이가 느껴지나요? 

계속 진행해보겟습니다. 

 

이번에는 users 컬렉션에 많은 값을 넣어보겠습니다.

여기서 rdbms 를 써보신분들이라면, (rdb의 컬럼같은) 키값이 앞에서 하나 넣은 것과 다른 것에 느껴지나요?

(위에서 insertOne 했던거입니다.)

 

noSql 은 컬럼이 달라도 상관없습니다. 이름이 달라도 됩니다. 이런 점이 noSQL의 독특한 점이자 장점이죠!

 

 

현재 컬렉션의 document 들의 키값들이 다른게 보이죠?첫 번째에는 name,age,status 인데 뒤에 manyinsert 한 애들은 다릅니다 :) 

 

이상 Mongodb 입문 1단계 포스팅을 마치겠습니다.

 

이 포스팅은 인프런의 'NoSQL/DB(몽고DB) 기초와 파이썬 활용' 강의를 들으면서 정리한 내용입니다 :)