개발 블로깅/Server&DataBase 개념

[2019.03.26] NoSQL MongoDB 기초

Hello이뇽 2019. 3. 26. 21:54



MongoDB는 NoSQL의 종류 중 하나이다. NoSQL은 빅데이터 기반의 데이터베이스로, 정해진 칼럼이 아니라

컬렉션에 document가 계속 추가되는 방식이다.


# MySQL과의 비교

  • mysql은 database를 새로 만들어주고 table을 생성할 때 칼럼명과 타입을 지정해 주며 생성.
  • MongoDB는 database를 새로 만들어주고, collection을 생성, collection에 들어갈 document를 입력 (document는 json 타입)


# MongoDB 설치 및 실행

brew update brew install mongodb mkdir -p /data/db mongod # dbpath 지정 mongod --path <path>

이후에 다른 터미널로 아래와 같이 명령어를 입력한다.

$ mongo
MongoDB shell version: 3.2.1
connecting to: test
>



# MongoDB 기본 명령어

db사용 시, 항상 use명령어로 db를 지정해 준 후 사용한다.

  • db 생성 : use TestDatabase
  • db확인 : show databases, show dbs
  • db삭제 : db.dropDatabase()


# db에 collection 생성 방법

  •  db.createCollection("testCollection")
  • db.createCollection("testCollection"{capped: true, autoIndexId:true, size:6142800, max:10000})   // capped : 사이즈를 고정시켜, 초과되면 오래된 데이터부터 삭제, autoindexId : id자동증가, size : 사이즈, max : 컬렉션에 들어갈 최대 개수
  • db.testCollection.insert({"name":"inyong"}) // 해당 collection도 새로 생기면서 새 document 추가

# 해당 db의 collection 확인

  • show collections

# 해당 collection의 document 확인

  • db.testCollection.find()
  • db.testCollection.find({"name":"inyong"})


# 해당 collection의 document 삭제

  • db.testCollection.remove()
  • db.testCollection.remove({"name":"inyong"})


# MongoDB를 연습해본 화면

사실 MongoDB라는 데이터베이스가 있는지는 알고 있었다. 정말 그저 들어보기만 했을 뿐 내가 실제로 mongoDB를 쓰게 될 줄은 몰랐다. 아니, 어쩌면 쓰게 될 계기, 기회만을 기다리고 있었는지도 모른다. 애초에 이런 것들을 써보고 익숙하게 다룰 수 있었어야 했는데...ㅜㅜ 지금부터라도 차근차근 쌓아가야겠다!


반응형