TypeError: /Users/kojinkyu/Desktop/todoapp/views/detail.ejs:21
19| <%- include('nav.html') %>
20| <h4>상세페이지 입니다.</h4>
>> 21| <h4>제목 : <%= data.제목 %></h4>
22| <h4>날짜 : <%= data.날짜 %></h4>
23|
24|
Cannot read properties of null (reading '제목')
at eval ("/Users/kojinkyu/Desktop/todoapp/views/detail.ejs":15:31)
at detail (/Users/kojinkyu/Desktop/todoapp/node_modules/ejs/lib/ejs.js:703:17)
at tryHandleCache (/Users/kojinkyu/Desktop/todoapp/node_modules/ejs/lib/ejs.js:274:36)
at View.exports.renderFile [as engine] (/Users/kojinkyu/Desktop/todoapp/node_modules/ejs/lib/ejs.js:491:10)
at View.render (/Users/kojinkyu/Desktop/todoapp/node_modules/express/lib/view.js:135:8)
at tryRender (/Users/kojinkyu/Desktop/todoapp/node_modules/express/lib/application.js:657:10)
at Function.render (/Users/kojinkyu/Desktop/todoapp/node_modules/express/lib/application.js:609:3)
at ServerResponse.render (/Users/kojinkyu/Desktop/todoapp/node_modules/express/lib/response.js:1039:7)
at /Users/kojinkyu/Desktop/todoapp/server.js:50:8
at /Users/kojinkyu/Desktop/todoapp/node_modules/mongodb/lib/utils.js:424:9
라는 오류가 뜹니다.
detail.ejs
<h4>상세페이지 입니다.</h4>
<h4>제목 : <%= data.제목 %></h4>
<h4>날짜 : <%= data.날짜 %></h4>
server.js
app.get('/detail/:id', function(요청, 응답){
db.collection('post').findOne({ _id : parseInt(요청.params.id) }, function(에러, 결과){
응답.render('detail.ejs', {data : 결과} )
})
});
그대로 따라적었는데 왜이러는걸까요..?
/////
app.get('/detail/:id', function(요청, 응답){
db.collection('post').find().toArray(function(err, result){
응답.render('detail.ejs', { posts : result })
})
});
이런식으로하고
<h5 class="card-title"><%= posts[1].제목 %></h5>
<h6 class="card-subtitle mb-2 text-muted"><%= posts[1].날짜 %></h6>
잘나옵니다