DB/NoSQL

mongoDB설치 (몽구스 ODM 사용)

쿠와와 2020. 12. 31. 16:48

MySQL같은 SQL 데이터베이스와는 다른 유형의 데이터 

  • NoSQL의 대표주자인 mongoDB(몽고디비) 사용
  • JOIN: 관계가 있는 테이블끼리 데이터를 합치는 기능(몽고디비 aggregate로 흉내 가능)
  • 빅데이터, 메시징, 세션 관리 등(비정형 데이터)에는 몽고디비 사용하면 좋음

 

1. mondgoDB 설치

mongoDB 공식 사이트(https://www.mongodb.com/try/download/community)

 

Window 

Next를 눌러 다음으로 넘어가다가 Complete로 모든 프로그램 기능 설치

 

Install MongoD as a Service 체크 해제하기

 

컴퍼스도 같이 설치하는 옵션에 체크하여 설치

워크벤치와 비슷한 기능을 함

 

 

윈도의 경우 C:\data 폴더를 만들고 그 안에 db 폴더를 만듦

 

콘솔로 몽고디비가 설치된 경로로 이동해 몽고디비를 실행

(기본적으로 C:\Program Files\MongoDB\Server\4.2\bin)

 

admin 권한을 설정하여 디비에 비밀번호 걸기

mongod를 입력했던 콘솔을 종료한 후 mongod --auth 명령어로 접속

--auth는 로그인이 필요하다는 뜻

 

mongo를 입력한 콘솔도 종료한 후 mongo admin –u 이름 –p 비밀번호로 접속

 

 

macOS

Homebrew몽고디비를 설치하는게 편함

 

 

brew 설치 후 mongodb 설치

 

 

몽고디비 실행

 

콘솔에 mongo로 접속

 

 

관리자 비밀번호 설정 후 몽고디비 재시작, 설정 파일 수정

 

콘솔이 전환되면 마지막에 두 줄을 추가하고 :wq!로 저장

 

다시 mongodb를 실행하고 mongo admin –u 명령어로 접속

 

macOS 컴퍼스 설치하기

공식 사이트를 통해 컴퍼스 설치(https://mongodb.com/download-center/compass)

설치 후 응용 프로그램으로 드래그

 

리눅스 ( 우분투 ) 몽고디비 

GUI를 사용하지 않으므로 콘솔에 다음 명령어들을 순서대로 입력

 

 어드민 계정 설정 후, 설정 파일을 바꿔 인증 사용하도록 변경

 

conf 파일 맨 끝 두줄 추가 후 :wq!로 저장

 

 

2. 커넥션 생성하기 

컴퍼스(MongoDB Compass Community)로 접속

Fill in connection Fields individually 클릭

 

 

Authentication Username/Password로 변경, 몽고디비 계정 이름과 비밀번호 입력

 

접속 성공 화면 

 

 

몽구스 ODM

 

몽고디비 작업을 쉽게 할 수 있도록 도와주는 라이브러리

  • ODM: Object Document Mapping: 객체와 다큐먼트를 매핑(11 짝지음)
  • 몽고디비에 없어 불편한 기능들을 몽구스가 보완
  • 테이블과 유사한 기능, JOIN 기능 추가

 

몽구스 예제는 https://github.com/zerocho/nodejs-book/tree/master/ch8/8.6/learn-mongoose

  • 프로젝트 세팅 후, 콘솔을 통해 경로로 이동한 후 package.json 설치

 

 

 

몽구스를 통해 몽고디비 연결하기

  • 인증은 admin 데이터베이스에서, 서비스는 dbName 데이터베이스에서

 

app.js로 연결

  • schemas/index.js의 함수가 실행됨
  • mongoose.connect 함수가 몽고디비에 연결을 시도
  • mongoose.set은 디버깅 모드(모드를 켰을 때 콘솔에 쿼리가 찍힘)
  • 연결이 끊기면(disconnection) 다시 연결을 시도

 

 

 

'DB > NoSQL' 카테고리의 다른 글

MongoDB CRUD 작업하기  (0) 2021.01.01