서론
코딩애플 til 1은 무료강의 내용이라 til 올리기 괜찮았는데
이후 내용부터는 유료분이라 알아서 좀 걸러서 포스팅하기로 함.
코드를 가져다 써야 할 부분은 그냥 제 선에서 최대한 어글리하게 쓸게요..
코딩애플 강의 짱.
돈 하나도 안아까운 강의!!!
EJS 사용하는 방법
서버데이터 집어넣어서 html 만드는 법: ejs사용
npm install ejs
그리고 server.js에 아래 임포트
app.set('view engine', 'ejs');
이후 list.js의 확장자를 js대신 .ejs로 바꾸자.
파일 위치는 항상 views라는 폴더 안으로 위치시켜야함.
ejs파일 안에 변수 이름 작성하는 법은
<%= 변수이름 %>
ejs 문법을 반복문 돌리려면 그냥 이 오징어같은 기호 넣으면 됨;
그리고 이건 내가 작성한 db를 ejs파일에 넣어서 보여줄때 사용하는 코드.
<% for (var i=0; i<posts.length; i++){ %>
<h4>할 일 제목: <%= posts[i].제목 %> </h4>
<h4>할 일 마감날짜: <%= posts[i].날짜 %> </h4>
<% } %>
{posts : 결과} 처럼 object형으로 넣어야 한다.
posts는 ejs파일에서 object로 가져와서 쓸 수 있다.
/list로 get요청으로 접속하면 실제 db에 저장된 데이터들로 예쁘게 꾸며진 html을 보여줌.
app.get('/list', function (요청, 응답) {
// 데이터를 다 찾아서 가져옴
db.collection('post')
.find()
.toArray(function (에러, 결과) {
console.log(결과);
// 누군가 /list로 접속하면 list/ejs로 렌더링해줘라
응답.render('list.ejs', { posts: 결과 });
});
});
id 작성하기 & 데이터 수정하기
counter라는 컬렉션을 하나 더 만들어서 id를 관리해줌.
유니크한 id를 관리하기 위함.
counter에 데이터 하나를 만들고
totalPost: 0,
name: 개시물 갯수
라는 항목을 만듦.
그리고 post라는 컬렉션에서 id를 추가할 때 이 counter의 개수에 +1을 해서 가져오고,
또 한편 counter에서 id도 추가로 +1 해주는 방식임.
update를 할 때는 operator를 써야함.
{ $set: { totalPost: 1 } }
이게 operator라는 문법임.
$set 은 '바꿔주세요'라는 연산자임.
{$set: {totalPost: 바꿀 값}}
{$inc: {totalPost: 기존값에 더해줄 값}}
db.collection('counter').updateOne(
{ name: '게시물 갯수' },
{ $inc: { totalPost: 1 } },
function () {}
);
'개발 이야기 > backend' 카테고리의 다른 글
스프링부트 미니 프로젝트 만들기 - MVC 모델 큰 그림으로 개념잡기 (0) | 2023.10.09 |
---|---|
스프링부트 미니 프로젝트 만들기 - lombok, log4j2 설치 (0) | 2023.10.09 |
스프링부트 미니 프로젝트 만들기 - Maven, Gradle 두 버전으로 프로젝트 생성 (1) | 2023.10.09 |
springboot에 log4j2 설정하기(gradle버전) (0) | 2023.10.09 |
코딩애플 node.js강의 til - node.js 설치부터 실행까지 (0) | 2023.10.09 |
댓글