감자튀김 공장🍟

쇼핑몰 토이 프로젝트 정리 - DAY 3 본문

프로젝트/쇼핑몰 프로젝트

쇼핑몰 토이 프로젝트 정리 - DAY 3

Potato potage 2023. 2. 13. 21:58
반응형

Logout

F

axios.get(`${USER_SERVER}/logout`)

 

B

actions

const request = axios.get(`${USER_SERVER}/logout`)
 
 
routes/user.js
 
User.findOneAndUpdate({ _id: req.user._id }, { token: "", tokenExp: "" },

findOneAndUpdate를 사용하여 db에 저장된 id를 찾은 후 해당 유저의 token과 tokenExp를 공백(값을 초기화)으로 만들어 주면서 로그아웃을 시킨다.

 

 

Product

F

body에 product의 정보들을 담아 제품을 업로드할때 axios를 사용한다.

Axios.post("/api/product", body)

 

B

routes/product.js

 

multer를 사용하여 이미지를 업로드 한다.

 

router.post('/image', (req, res)
사진을 업로드
 
 
router.post('/', (req, res) => {
Front에서 받아온 정보들을 db에 저장
 
 
router.post('/products', (req, res) => {
product db에 들어있는 모든 상품 정보를 가져온다 => 메인 화면에서 상품 정보들을 보여주기 위함 + filter 기능을 사용
 
 
mongodb find()와 skip(), limit(), exec() 관련
datas.find(findArgs)
.find({}) 
.populate(data) # 문서의 경로를 다른 컬렉션의 실제 문서로 자동 변환. 스키마에 ref를 정의하면 몽구스는 해당 ref를 사용해 다른 컬렉션의 문서를 찾음
.skip(value) # 출력할 데이터의 시작 부분을 설정 / value 값 만큼 생략하고 그 다음부터 출력
.limit(value) # 출력할 데이터 갯수를 제한 / value는 출력할 갯수의 값
.exec() # 온전한 promise를 반환값으로 얻을 수 있다.
 
 
 
 
 
 
다음 할 것
F에서 필터 기능, 장바구니 담기
반응형
Comments