반응형

 

MongoDB 설치

 

MongoDB 공식 홈페이지에서 다운로드할 수 있습니다. 

https://www.mongodb.com/try/download/community

 

MongoDB Community Download

Download the Community version of MongoDB's non-relational database server from MongoDB's download center.

www.mongodb.com

 

MSI 패키지로 운영체제를 잘 골라서 다운로드하면 됩니다.

 

설치가 완료되었다면 아마도 윈도우라면 Program Files/MongoDB/server/버전/bin 경로가 있을 것입니다.

데이터를 저장할 폴더를 만들기 위해 bin 디렉터리에서 data/db 디렉터리를 새로 생성해줍니다.

 

 

 

MongoDB 사용법

 

서버 실행 방법

 

터미널에서 MongoDB 설치 경로의 bin폴더로 이동합니다. 그리고 다음 명령어를 입력하여 DB 서버를 실행할 수 있습니다.

 

mongod --dbpath "bin디렉터리경로\data\db"

 

MongoDB 서버의 기본 포트 번호는 27017입니다.

 

 

 

클라이언트 실행 방법

 

터미널 창 혹은 패널을 하나 더 열고, 서버 실행할 때와 마찬가지로 bin 디렉터리로 이동한 후 다음 명령어를 실행합니다.

 

mongo

 

클라이언트에서는 쿼리를 날릴 수 있습니다.

 

 

 

MongoDB 기본 쿼리문

 

database 사용 명령어

 

- 존재하는 db 목록보기

 

show dbs

 

- 현재 사용중인 db명 보기

 

db

 

- 사용 중인 db 변경하기, 없는 db명이면 새로 db를 생성하고 변경합니다.

 

use 데이터베이스명

 

 

collection 사용 명령어

 

- 존재하는 collection 목록보기

 

show collections

 

- collection 생성

 

db.createCollection("콜렉션명")

 

- collection 제거

 

db.콜렉션명.drop()

 

 

document 사용 명령어

 

- document 1개 이상 추가

 

insert는 document를 1개 혹은 여러 개를 추가할 수 있는 메서드입니다.

 

db.콜렉션명.insert([document1, ...])

 

- 모든 document select

 

db.콜렉션명.find()

 

- document 조건 조회

 

db.콜렉션명.find({필터})

 

필터는 { fieldname: value } 형태로 조건을 넣어주면 됩니다.

예를 들어 fruits collection에서 count가 1인 document들을 조회하는 쿼리문은 다음과 같습니다.

 

db.fruits.find({ count: 1 })

 

{}는 조건이 없는 것과 같습니다. 따라서 모든 document를 조회하는 find()와 find({})는 결과가 같습니다.

 

- projection fields

 

원하는 field만 선택하기 위해서는 find 메서드의 두 번째 파라미터를 사용합니다.

예를 들어 다음은 fruits collection에서 count가 1인 document들의 color field만 조회하는 쿼리문입니다.

 

db.fruits.find({ count: 1 }, { color: 1 })

 

- document update

 

updateOne은 조건에 맞는 최초로 발견된 document 1개만 update 하는 메서드입니다.

다음은 fruits collection에서 color가 "red"인 document 1개를 "blue"로 바꾸는 쿼리문입니다.

 

db.fruits.updateOne({color: "red"}, {$set: {color: "blue"}})

 

조건에 맞는 모든 document를 update 하려면 updateMany를 사용합니다.

 

db.fruits.updateMany({color: "red"}, {$set: {color: "blue"}})

 

조건에 맞는 document가 없는 경우는 아무 update도 일어나지 않습니다.

다만 upsert 옵션을 추가하면 조건에 맞는 document가 없을 때 새 document를 insert 하도록 할 수 있습니다.

 

- document 제거

 

remove 메서드는 document를 제거하는 메서드입니다.

 

db.콜렉션명.remove({})

 

{}는 모든 걸 선택하는 필터기 때문에 위 쿼리문은 해당 콜렉션에 있는 모든 document를 전부 삭제합니다.

 

 

 

compass로 접속하기

 

MongoDB를 설치하면 설치 과정 중에 MongoDB compass도 같이 설치가 됩니다.

compass는 MongoDB 클라이언트를 사용할 수 있는 GUI 프로그램입니다.

database, collection, document CRUD에 대해 직관적인 UI 조작을 제공하고 있고, 쿼리문을 날리기도 편하게 되어있습니다. aggregations, schema, index, validation 등에 대해서도 쉬운 UI를 제공하고 있습니다. 

 

 

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기