다른 사이트들을 참고하던 중에 게시판에서 제목 뒤에 해당 게시물의 댓글 개수가 표시되는 기능이 있다.
게시물에 댓글이 추가되었는지도 들어가지 않고 확인할 수 있고
여러모로 필요한 기능 같아서 추가하고자 했다.
app.get('/notice/:number', async (req, res) => {
let result = await db.collection('notice').find().sort({ _id: -1 }).skip((req.params.number - 1) * 10).limit(10).toArray();
let result2 = await db.collection('notice').find().sort({ _id: -1 }).toArray();
let commentCounts = [];
for (let i = 0; i < result.length; i++) {
let commentCount = await db.collection('comment').countDocuments({ parentId: result[i]._id });
commentCounts.push(commentCount);
}
res.render('notice.ejs', { 글목록: result, 글전체: result2, 댓글개수: commentCounts})
})
let commentCounts = [];
우선 댓글 수를 저장할 빈 배열을 선언해줬다.
let commentCount = await db.collection('comment').countDocuments({ parentId: result[i]._id });
commentCounts.push(commentCount);
comment 컬렉션에 접근한 다음에 countDocuments 를 이용해서 result[i]._id 가 parentId 와 동일한 값들의 개수를 센다.
그러고 처음에 지정한 commentCounts 배열에 추가해준다.
그러고 html 파일에서
[<%= 댓글개수[i] %>]
다음과 같이 표시해주면
위와 같이 해당 게시물의 댓글을 표시할 수 있다.
'Project > 축구모임 홈페이지개발' 카테고리의 다른 글
[축구모임 홈페이지개발] 03/26 개발일지 Nodejs / 승부차기 게임 구현2 (0) | 2024.03.26 |
---|---|
[축구모임 홈페이지개발] 03/25 개발일지 Nodejs / 승부차기게임 구현 (0) | 2024.03.26 |
[축구모임 홈페이지개발] 03/18 출시 이후 점검 (0) | 2024.03.18 |
[축구모임 홈페이지개발] 02/27 개발일지 Nodejs / 사이트 확대 제어 meta tag (1) | 2024.02.27 |
[축구모임 홈페이지개발] 02/26 개발일지 Nodejs MongoDB collection 삭제 (0) | 2024.02.26 |