코딩애플 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 () {}
);
'TIL' 카테고리의 다른 글
vscode에 tortoise svn 연동하기 (next.js 이용 버전) (1) | 2022.09.21 |
---|---|
전자정부 프레임워크 수강 후 수료증 받은 후기 (0) | 2022.08.29 |
코딩애플 node.js강의 til - 설치부터 실행까지 (0) | 2022.05.22 |
Udemy 강의 Next.js & React - The Complete Guide (incl. Two Paths!) 시작! (0) | 2022.05.17 |
책 <기초부터 완성까지, 프런트엔드> Til - 2 (0) | 2022.05.15 |