[ Node ] 장바구니 만들기(CRUD)

ay0530·2023년 11월 2일
0
post-thumbnail

01. 장바구니 모델 작성

[ /schemas/cart.js ]
1. mongoose.Schema({}) : 스키마 생성
2. {} 내부에 사용할 컬럼명과 속성 작성해주기
3. mongoose.model("모델명", 변수) : 모델 생성

02. 장바구니 조회(Read)

[ /routes/carts.js ]
1. require() : /schemas/goods.js, /schemas/cart.js 받아오기
2. get("경로",async(req,res)=>{}) : get메소드에 동기 처리
3. await.@@.find({}) : DB에서 값이 있는지 검색하고 검색 완료 대기(await)
4. @@.map(()=>{}) : map으로 검색결과를 배열에 저장
5. @@.find({}) : DB에서 값이 있는지 검색하고 검색 완료 대기(await)
6. array.find(()=>{}) : 배열에서 조건에 일치하는 값을 조회
7. res.json({}) : json으로 반환

[ /app.js ]
8. require() : /routes/carts.js 받아오기
9. app.use("경로",[경로, 경로]) : 경로 추가하기

03. 장바구니 저장(Create)

  1. require() : /schemas/cart.js 받아오기

  2. post("경로",async(req,res)=>{}) : post 메소드에 동기 처리

  3. await.@@.find({}) : DB에서 값이 있는지 검색하고 검색 완료 대기(await)

  4. if(@@.length) : 검색 결과가 있는 경우 중복 저장 방지를 위해 에러 출력 status(400), success: false

  5. await @@.create(){} : DB에 저장

  6. POST Method 실행 후 결과 확인하기

04. 장바구니 수정(Update)

  1. put("경로",async(req,res)=>{}) : put 메소드에 동기 처리
  2. await.@@.find({}) : DB에서 값이 있는지 검색하고 검색 완료 대기(await)
  3. if(@@.length) : 검색 결과가 있는 경우 장바구니 업데이트
  4. await @@.UpdateOne(){} : DB 저장된 값 수정
  5. { $set: {@@: @@}} : 수정할 값
  6. PUT Method 실행 후 결과 확인하기

05. 장바구니 삭제(Delete)

  1. delete("경로",async(req,res)=>{}) : put 메소드에 동기 처리
  2. await.@@.find({}) : DB에서 값이 있는지 검색하고 검색 완료 대기(await)
  3. if(@@.length) : 검색 결과가 있는 경우 장바구니의 상품 삭제
  4. await @@.deleteOne(){} : DB 저장된 값 삭제
  5. DELETE Method 실행 후 결과 확인하기
profile
강아지 좋아

0개의 댓글