본문 바로가기

Database/NoSQL - mongoDB

mongoDB - 설치, 컴퍼스, 첫 컬렉션 생성 (Installation, Compass, Creating First Collection)

 

몽고디비의 설치는 다음 포스트를 보고 따라하도록 하자. 나는 책을 보며 따라했다.

https://javacpro.tistory.com/64

 

[MongoDB] MongoDB 설치 및 환경설정( Windows10 )

MongoDB 설치 및 환경설정( Windows10 ) MongoDB는 도큐먼트(Document) 지향 데이터베이스 시스템이다. 흔히 NoSQL 이라고 하는데 , 많은 NoSQL 중에서 가장 인기가 많은 데이터베이스 시스템이다. 자세한 내용

javacpro.tistory.com

 

설치가 완료되면 해야 할 작업이 있다. 서버를 실행하기 전, 데이터가 저장될 폴더를 먼저 만든다. 윈도우의 경우 C:/에 data 폴더를 만들고 그 안에 db 폴더를 만들면 된다.

 

그 후, 몽고디비가 설치된 경로 (bin 폴더) 로 이동하여 몽고디비를 실행한다. 위 데이터 폴더를 반드시 먼저 만들어주어야 한다. 콘솔에서 mongod 명령어를 입력하여 몽고디비를 실행한다. 방화벽 관련 팝업이 뜨면 허용 버튼을 눌러 접속을 허가한다.

 

에러 메시지 없이 계속 실행중이라면 실행에 성공한 것이다. 기본적으로 27017번 포트에서 실행되니 localhost:27017로 들어가면 아래와 같은 페이지가 뜨는 것을 확인할 수 있다.

이제 몽고디비 프롬프트에 접속하려면 같은 폴더에서 콘솔을 하나 더 열어 mongo 명령어를 입력하면 된다.

 

프롬프트가 > 로 바뀌면 성공이다. 현재 누구나 몽고디비에 접속할 수 있으므로 관리자 계정을 추가해주자.

 

> use admin
switched to db admin
> db.createUser({ user: 'Beom Seok', pwd: '.......', roles: ['root'] })
Successfully added user: { "user" : "Beom Seok", "roles" : [ "root" ] }

 

이제 아까 mongod를 입력했던 콘솔을 종료하고 다시 mongod --auth 명령어로 접속한다. 이제 다시 mongo를 입력했던 콘솔도 종료한 후 다시 mongo admin -u "[이름]" -p "[비밀번호]" 명령어로 접속한다.

 

컴퍼스 (Compass) 는 윈도우로 설치 시 자동으로 설치된다.

 

데이터베이스 및 컬렉션 생성하기

이제 nodejs라는 이름의 데이터베이스를 만들어보자. 몽고디비 프롬프트에 접속한다.

 

데이터베이스를 만드는 명령어는 use [데이터베이스명] 이다.

 

> use nodejs
switched to db nodejs

 

데이터베이스 목록을 확인하는 명령어는 show dbs 이다.

 

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

 

근데 보면 여기엔 아까 만든 nodejs가 없다. 이는 데이터를 최소 한 개 이상 넣어야 목록에 표시되기 때문이다. 현재 사용 중인 데이터베이스를 확인하는 명령어는 db 이다. 

 

> db
nodejs

 

데이터베이스 목록에는 없지만, 현재 nodejs 데이터베이스를 사용하고 있음을 확인할 수 있다. 컬렉션은 생성하지 않아도 된다. 도큐멘트를 넣는 순간 컬렉션 또한 자동으로 생성되기 때문이다. 하지만 직접 컬렉션을 생성할 수도 있다. 명령어는 db.createCollection('[컬렉션명]') 이다.

 

> db.createCollection('users')
{ "ok" : 1 }
> db.createCollection('comments')
{ "ok" : 1 }

 

이제 생성한 컬렉션 목록을 show collections 로 확인해보자.

 

> show collections
comments
users

 

 

출처

Node.js 교과서 개정 2판 - 길벗, 조현영

'Database > NoSQL - mongoDB' 카테고리의 다른 글

mongoDB - CRUD 명령어 (CRUD Commands)  (0) 2020.08.13