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를 제공하고 있습니다.
최근댓글