본문 바로가기

MongoDB

(6)
Add To Cart 구현하기 #1 현재 server/models에서 Product 모델이나 User 모델을 보면 Cart에 관한 필드나 모델이 존재하지 않는다. 이 상태면 DB에 카트에 관한 정보를 저장할 수 없다. 이러면 카트에 관한 모델을 만들거나 따로 처리를 해줘야한다. 강의에서는 User 모델에 Cart 필드를 만들어서 관리를 했다. 가이드 라인은 다음과 같다. 위 이미지에서 history 필드는 결제를 하고 나면 어떤 상품을 샀는지 등등이 남을 건데 이것을 관리한다. User 모델에 Cart 필드랑 history 필드를 넣어주자. 더보기 const mongoose = require('mongoose'); const bcrypt = require('bcrypt'); const saltRounds = 10; const jwt ..
더보기 버튼 만들기 SKIP이란? 어디서 부터 데이터를 가져오는지에 대한 위치 ex) 처음엔 0부터 시작. LIMIT이 6이라면 다음 번엔 0+6부터 LIMIT이란? 처음 데이터를 가져올 때 와 더보기 버튼을 눌러서 가져올 때 얼마나 많은 데이터를 한 번에 가져오는지 지정 더보기 버튼 onClick Function 구현 & SKIP과 LIMIT을 위한 STATE 구현 & Route 수정(1) & AXIOS 중복 코드 제거 및 loadMoreHandler function 구현(1) import axios from 'axios'; import React, { useEffect, useState } from 'react' import {Icon, Col, Row, Card, Carousel} from 'antd' import M..
Bcrypt로 비밀번호 암호화 하기 저번에 postMan으로 json형식의 회원가입 정보를 서버로 보냈었다. 이때 password 같은 경우 123456으로 넣어서 보내줬는데 문제는 이것이 암호화가 하나도 안되어있다는 것이다. (앞으로 나올 코드에서 존재하는 변수이기도 한데, 이렇게 쌩으로 드러나있는 비밀번호를 myPlainPassword라고 한다.) 보낼 때는 저렇게 보내도 DB에 저장할 땐 암호화를 한 후에 저장해서 계정 정보를 관리하는 사람도 유저의 비밀 정보를 볼 수 없도록 해줘야한다. 일단 bcrypt 라이브러리를 다운받아주자. bcrypt 사용법은 다음 링크를 이용하자. https://www.npmjs.com/package/bcrypt bcrypt A bcrypt library for NodeJS.. Latest version:..
NodeMon 설치 & 비밀 설정 정보 관리 서버 코드를 변경할 때마다 서버를 재시작해야 하는 번거로움이 있는데 이것을 해결해주는 것이 nodemon이다. 이 도구를 사용하면 자동으로 위 작업을 해준다. 위에 보면 -dev가 붙어있는데 이것은 development 모드의 약자다. development 모드(local에서 할 때랑), production 모드(배포를 한 다음의 모드)가 있고, 우리가 로컬에서 할 때만 사용하겠다는 의미이다. 이렇게 다운로드하면 dependencies가 아니라 devdependencies에 버전이 들어가 있는 걸 확인할 수 있다. nodemon으로 시작해야 되기 때문에 scripts를 수정해주자. 다음으로는 소스 안에있는 비밀정보를 보호하는 작업이다. 지금까지 게시글에는 가렸지만 소스 안에는 mongoDB 내 정보가 들..
(postMan 오류) not authorized on admin to excute command admin이 명령을 실행할 권한이 없다는 에러가 뜬다. 위에 표시한 것처럼 test를 추가해주면 해결된다.
express 적용과 mongoDB 연결 컨테이너와 파일까지 모두 만들어졌다면 원래라면 npm package를 만들기 위해서 npm init을 해줘야 하지만 goorm ide 같은 경우 컨테이너를 만드는 시점부터 node와 npm이 다운로드되어있다. 그래서 이 부분은 스킵해도 된다. root 경로에서 index.js 파일을 하나 만들어주자. 이 파일이 backend의 시작점이 된다. 그리고 위 버전에 맞게 express와 mongoose를 다운로드하여주자. npm install express@4.17.1 npm install mongoose@5.8.9 다음으로 기본적인 express.js 앱을 만들어보자. https://expressjs.com/ko/starter/hello-world.html Express "Hello World" 예제 Hel..