상세 컨텐츠

본문 제목

[MongoDB] 명령어모음

백앤드 개발 노트

by bydawn25 2023. 4. 6. 09:41

본문

이씨 쓰다가 날렸다 ㅠㅠ

MongoDB는 NoSQL형식의 데이터 베이스로 자료형 관계없이 데이터를 저장할 수 있는 장점이 있다.

 

관계형 데이터 베이스와 NoSQL데이터 베이스중 필요한 경우에 적절히 선정하여 사용하면 된다.

 

 

 

 

mongo db 설치 링크

 

MongoDB Atlas: Cloud Document Database

Cloud-hosted MongoDB service on AWS, Azure, and GCP

www.mongodb.com

Mongo DB를 설치할때 Compass를 함께 설치하게 되면 아래 Moongse라는 터미널을 통해 Collection과 Database에 접근할 수 있다.

 

mongoDB 조건들은 대부분 Object형을 사용해서 검색하고 거를 수 있다. 예를 들어 항목중에 price가 있고 1000원 이상인 값들이 필요하다고 하면 { price : price > 1000 } 으로 사용하면 된다.

 

물론 저게 정답은 아니고 저런 느낌으로 사용해야 한다는 것!

 

 

 

 

 

DB접속 하는 순서

1. show db : db목록 확인
2. use [db name] : db선택

여기까지 하면 collection 사용 준비 완료!

 

db -> collection 순서로 접근해야 한다.

 

 

 

 

 

Collection 사용하기

값 찾기

- db.[collection name].find({ 조건 json }, { 제한 json })

collection이름이 book 이라고 하면 db.collection.find로 접근하면 된다.

 

 

price가 20000원인 값들을 찾고 싶으면 아래처럼 검색하면된다.

- db.book .find({ price : 20000 }, { 제한 json })

 

 

 

 

만약 20000원 이상인 값들을 검색하고 싶으면? price : price > 20000이면 좋겠지만 이런 형식은 json이 인식할 수 없다

- db.book .find({ $gt : { price : 20000 } }, { 제한 json })

$gt이라는 식별자를 통하여 구분해주어야 한다.

 

 

 

제한 json에는 불러오고 싶은 값들을 구분할 수 있다.

- db.book .find({ $gt : { price : 20000 } }, { price : 0 })

price : 0 이라는 object를 부여하면 해당하는 key값들은 불러오지 않는다.

 

 

 

 

 

삽입하기

-db.book.insertOne({삽입하고 싶은 데이터 형})
-db.book.insertMany([{삽입하고 싶은 데이터 여러개])

 

 

 

 

업데이트 하기

-db.book.updateOne({삽입할 절 조건},{$set : {삽입하고 싶은 값}})
-db.book.updateMany({삽입할 절 조건},{$set : {삽입하고 싶은 값}})

$set이라는 식별자를 사용해야 한다.

 

 

 

 

12번째 책 값을 4만원으로 올리고 싶다면 아래처럼 수행하면 되겠다.

-db.book.updateOne({id : 12},{$set : {price : 40000}}

 

 

 

 

 

삭제 하기

-db.book.deleteOne()
-db.book.deleteMany()

 

 

 

 

 

 

 

MongoDB는 현재도 사용중이라 계속 업데이트 할 예정이다.

NoSQL은 검색속도는 느리지만 제약이 많은 만큼 사용하기 편해서 놓을 수 없는 마약과 같다 ㅎ...

 

거의 모든 Action이 Json을 이용해서 수행되는 점이 SQL을 사용하는 관계형 데이터베이스와 다른 점이라 매력적으로 느껴진다.

 

 

 

 

 

최종 수정일 : 230406

관련글 더보기