express.js와 mongoDB로 만든 백엔드 서버 배포하기
moongod --version
: 설치되어있는 몽고db 버전출력mongosh
: 몽고db 접속show dbs
: 데이터베이스 출력use DB
: 선택한 DB 사용show collections
: 컬렉션 출력db.[collection].find()
: 해당 컬렉션에 있는 내용물 출력ssh -i [생성된키] id@[ec2IP]
: ec2로 접속git clone [깃 레포지토리 주소]
: 파일 클론npm install
: 어떤 파일로 인해 node_modules 폴더가 깔리는데 어떤 파일인지 잘 모르겠다.node app.js
: 파일실행이 외에 node.js, mongoDB 설치 ec2 보안그룹 설정 등 해야한다
[ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
: resposne가 2개 이상 왔을 시 오류가 나고 서버가 꺼진다
if (
existComments.length &&
password === existComments[0].password &&
content !== ""
) {
await Comments.updateOne(
{ _id: commentId },
{
$set: {
user,
password,
content,
createdAt: Date(),
},
}
);
res.status(200).json({
success: true,
});
} else if (content === "") {
res.status(400).json({
message: "댓글을 입력해주세요",
});
}
res.status(404).json({
message: "존재하지 않거나 비밀번호가 맞지 않습니다",
});
이처럼 조건문에 맞는 res를 전달하고 마지막에 있는 res를 또 전달할 경우
오류가 발생한다
else {
res.status(404).json({
message: "존재하지 않거나 비밀번호가 맞지 않습니다",
})
};
이처럼 else를 써서 이 부분은 오류가 안났지만 return 하여 아예 끝내버리는게 더 안전한 것 같다
if (
existComments.length &&
password === existComments[0].password &&
content !== ""
) {
await Comments.updateOne(
{ _id: commentId },
{
$set: {
user,
password,
content,
createdAt: Date(),
},
}
);
return res.status(200).json({
success: true,
});
} else if (content === "") {
return res.status(400).json({
message: "댓글을 입력해주세요",
});
} else{
return res.status(404).json({
message: "존재하지 않거나 비밀번호가 맞지 않습니다",
})
};