데이터를 잘 저장하고 잘 찾기 위해 만들어진 소프트웨어를 Database Management System(DBMS) 이라 부른다.
DBMS가 설치된 서버 컴퓨터를 데이터베이스 서버(DB 서버)라고 부를 수 있다.
흔히 "데이터베이스에 저장한다" 라고 말하면 이 DBMS가 설치된 서버에 데이터를 저장한다고 말하는것
즉, DB 서버의 모든 데이터는 DBMS가 관리
데이터 베이스의 종류는 관계형 데이터베이스(Relational Database (RDB)) 와
비관계형 데이터베이스(Non-relational Database (NoSQL))가 존재하는데 자세한 건 나중에 후술하겠다.
브라우저 ↔ 웹 서버 ↔ DB 서버
시작하기 전에 MongoDB와 Studio 3T를 설치하자
먼저 mongoose를 설치해 준 후, schemas라는 폴더를 생성하고 그 안에 DB연결 코드를 넣을 js문서를 생성해준다.
코드를 입력하면 MongoDB연결 완료!
본격적으로 시작하기 전, 용어들을 짚고 넘어가면
mongoose
의 문서(Document)란?mongoose
의 컬렉션(Collection)이란?mongoose
의 스키마(Schema)란?mongoose
의 모델(Model)이란?app.js에서의 작업
이 때 주의할 점은 app.use의 순서
미들웨어는 순차적으로 거쳐가기 때문에 express.json을 위에 써주자
라우터에서 작업
Thunder Client로 상품 생성 API 호출하면서 추가할 정보값 넣어주기
200OK가 뜨면서 정상적으로 반응하는것을 볼 수 있다.
DB에는 잘 들어갔을까?
Good
처음이라 쉽게 떠오르지 않는다... 보통 아래의 기능들이 필요하다 한다.
가보자~
어떤 상품을 담았는지(goodsId), 몇개를 담았는지(quantity) 알 수 있어야 한다.
장바구니의 데이터를 찾아온다.
장바구니 데이터베이스에는 goodsId와 quantity 정보밖에 담겨있지 않기 때문에
장바구니에 담겨있는 상품의 아이디에 맞는 상품 정보를 한번 더 가져와 준다.
app에서
Thunder client에서.. 아직 장바구니에 입력된 값이 없어 [ ]가 뜬다
send 누르면
send를 한번 더 보내면
99번 상품 없어도 true 뜬다.
2번 상품 수정
수정완료!