본문 바로가기

MongoDB

db 내용 html에 보여주기

문제


단순히 서버가 고객이 요청하는 html 파일 요청에 따라 보여주면 이거는 단순 화면 구현과 같다. 

만약 db에 있는 데이터를 보여주고 싶다면??

html이라는 마크업 언어에 데이터를 넣어줄 수 있는 엔진을 설치하여 표현하면 된다!!

( react도 이러한 방식으로 바로 데이터를 쏠 수 있는 좋은 라이브러리이다)

 

 

순서


1. ejs설치

 

npm install ejs

 

2. 서버에서 불러오기 

 

app.set('view engine', 'ejs');

 

 

 

3.views 폴더 내에 ejs파일 만들기

 

 

4. 고객이 /list 로 get 요청을 하면

   db에서 파일을 찾아 ( findOne) 데이터를 ejs파일에 보여줌!!

 

app.get('/list', function(요청, 응답){
  db.collection('post').find().toArray(function(에러, 결과){
    console.log(결과)
    응답.render('list.ejs', { posts : 결과 })
  })
})

 ==> posts라는 속성에 결과를 담음 이제는 posts 를 이용해서 ejs파일 여기저기에 넣으면 됨

 

 

5.ejs 문법으로 데이터 posts 넣기

 

<% for (var i = 0; i < posts.length; i ++) { %>
  <h4><%= posts[i].제목 %></h4>
  <p><%= posts[i].날짜 %></p>
<% } %>