post로 add 보낸 뒤에 저장은 잘 되는데 저장 후, 전송완료 화면만 뜨고 list.ejs로 넘어가질 않습니다.
해당 코드입니다.
app.post('/add', function (요청, 응답) {
응답.send('전송완료')
// findeOne : db에서 항목을 찾는다
db.collection('counter').findOne({
name: '게시물갯수'
}, function (에러, 결과) {
console.log(결과.totalPost)
var 총게시물갯수 = 결과.totalPost;
// 오브젝트 데이터타입으로 자료 저장
db.collection('post').insertOne({
_id: 총게시물갯수 + 1,
할일: 요청.body.todo,
날짜: 요청.body.startdate
}, function (에러, 결과) {
console.log('저장완료');
// totalPost 라는 항목도 1증가 updateOne : 하나를 수정하고 싶다
db.collection('counter').updateOne({
name: '게시물갯수'
}, {
$inc: {
totalPost: 1
}
}, function (에러, 결과) {
if (에러) {
return console.log(에러)
} else {
db.collection('post').find().toArray(function (에러, 결과) {
console.log(결과)
응답.render('list.ejs', {
posts: 결과
});
});
}
})
});
});
console.log(요청.body.todo)
console.log(요청.body.startdate)
});
볼드 친 부분이 제가 새로 작성한 부분입니다.
제 개념으로는 에러가 나지 않았으면 db에 저장된 데이터들을 어레이로 가져와 list.ejs 에 넘겨주고 띄운다로 아는데
응답부분만 들어오면 에러가 나네요...
Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
at ServerResponse.setHeader (_http_outgoing.js:561:11)
에러 메세지입니다...