※이글의 예시들은 Udemy의 Angela Yu의 "The-Complete-Web-Development-Bootcamp" 강의의 내용을 정리한 것입니다.
mongoDB의 CRUD
mongo db를 설치한 이후, CRUD operation을 연습해보려 한다.
터미널에 아래와 같이 입력한다. 이렇게 mongodb 서버를 켜는 것이다.
mongod
이후, 새 터미널 창을 열어 mongo라고 입력하면 mongoDB를 시작할 수 있다.
show dbs라고 쳐서 현재 데이터베이스를 확인하고, use shopDB라고 쳐서 데이터베이스를 새로만든 shopDB로 전환한다.
1. CREATE
공식문서에 위의 명령어로 create 오퍼레이션을 작동시킬 수 있다고 한다.
collection은 sql의 table과 비슷하다. collection은 다큐먼트의 collection이고, 다큐먼트는 하나의 데이터 레코드이고 행과 같은 것이다.
db.products.insertOne({_id:1, name:"Pen", price: 1500})
이렇게 간단하게 products라는 테이블을 만들고 데이터를 넣을 수 있다.
2. READ
db.collection.find(query, projection)
READ 오퍼레이션을 위해서는 find 명령어를 쓰면된다. 뒤에 있는 operator들은 option이다.
그냥 db.products.find()라고 쓰면 products 를 모두 read한다.
이때 find의 괄호 안에 operator를 넣어주면 sql의 where과 같은 효과가 있다.
https://docs.mongodb.com/manual/reference/operator/query/
operator의 종류는 문서 안에 나와있다.
1. 구체적으로 찾을 대상을 명시
2. 조건을 명시
db.products.find({price : {$gt : 900}})
가격이 900보다 큰 상품을 찾는 방법이다.
3. 두개의 오퍼레이터를 쓸때
두번째 operator는 projection으로 1은 참, 0은 거짓이다.
위와 같이 name:1인 상태로 find 명령을 사용했을 때, 1은 참이므로 name만 read된다.(id는 default로 출력됨)
id를 출력하지 않고 싶다면 두번째 명령어처럼 작성하면 된다.
3. UPDATE
을 사용한다.
sql과 비슷하다. 위와 같이 작성하고 새로운 열 stock을 얻을 수 있다.
4.DELETE
db.products.deleteOne({_id:2})
이런 식으로 두번째 행을 없앨 수 있다.
'강의노트' 카테고리의 다른 글
RESTful API란? (0) | 2020.01.08 |
---|---|
[mongoDB] mongoDB에서 관계성 정립 (0) | 2020.01.03 |
[SQL] 데이터베이스 조작 (0) | 2020.01.02 |
SQL vs NoSQL (0) | 2020.01.02 |
[express] params를 이용한 라우팅(routing) (0) | 2019.12.24 |