
기본 패키지 설치 및 세팅

npm install express mongoose dotenv helmet morgan nodemon
express: Node.js framework. 서버 돌리는 용mongoose: MongoDB를. Node.js와 MongoDB를 연결해주는 ODMdotenv: 환경변수 사용할 수 있게 해주는 패키지. 데이터베이스 내용 숨기는 용도로 사용.helmet: 리퀘스트 헤더 값 관련 패키지. 리퀘스트 보안 위해 사용.morgan: 로그 관리용nodemon: 서버 변경된 내용 있음 알아서 restart 되도록. package.json에서 start script를 nodemon index.js로 변경해주면 npm start 할 때 알아서 nodemon으로 실행![]() | ![]() |
|---|
MONGO_URL = mongodb+srv://<username>:<password>@cluster0.puf8ahh.mongodb.net/social?retryWrites=true&w=majority
dotenv.config();
mongoose.connect(process.env.MONGO_URL);
express.js에 미들웨어 등록
//middleware
app.use(express.json());
app.use(helmet());
app.use(morgan("common"));
.use로 미들웨어 등록하여 사용rest api로 라우터 설정
Application Programming Interface
Representational State Transfer
CRUD - POST, GET, PUT, DELETE
register user - POST
login - POSTasync: 함수를 Promise로 만들어줌await: async 함수에서만 쓸 수 있음. 작업이 끝날 때까지 기다려줌brew install --cask postman
브루트 포스 검색 공격에 대한 저항 유지salt: 해시 함수에서 비밀번호 암호화할 때 추가되는 바이트 단위의 임의의 문자열
update user - PUT
delete user - DELETE
get a user - GET//user database 목록 중 password, updateAt을 제외한 나머지가 other 배열로 합쳐짐
const {password, updatedAt, ...other} = user._doc;

follow a user
unfollow a user$push operator appends a specified value to an array.$pull operator removes from an existing array all instances of a value or values that match a specified condition.