728x90
반응형
게시물마다 번호를 달면 게시물들을 관리하기 좋다.
게시물 개수를 세기 위해서
DB에 'counter'라는 콜렉션을 하나 더 생성한 다음,
{name: 게시물개수
totalPost: 0}를 작성해서 insert 해주었다.
이제 글을 작성할 때마다 'count' 콜렉션의 name:게시물개수인 요소의 tatalPost 값을 1 증가시켜주면 된다.
app.post('/add', function (req, res) {
res.send('전송완료')
//console.log(req.body.title)
db.collection('counter').findOne({'name' : '게시물개수'},function(에러,결과){
//name이 게시물개수인 데이터를 찾음(카운터 사용)
var 게시물개수 = 결과.totalPost;
db.collection('post').insertOne({_id:게시물개수+1,'title':req.body.title,'date':req.body.date},function(에러,결과){
console.log('저장완');
//db에 데이터를 저장하고
db.collection('counter').updateOne({'name':'게시물개수'},{$inc:{'totalPost':1}},function(에러,결과){
//db의 counter에 있는 totalPost값을 1 증가시킴
if(에러){
return console.log(에러);
}
});
})
});
})
db.collection('counter').findOne({'name':'게시물개수'},function(){})으로 일단 게시물개수에 접근한다.
db에 게시물내용을 저장하는데,
_id: 게시물개수+1 요소를 추가로 해서, id값이 게시물번호가 되게 했다.
이 처리를 하고 나면, db.collection('counter').updateOne()으로 게시물개수를 1 증가시켜주면 되는데,
updateOne({어떤 요소를},{$inc:{이렇게}},function(){}) 형식으로 쓰면 된다.
중간에 있는 $inc는 증가시킨다는 뜻이고,
이 외에는 $set, $rename등을 쓸 수 있다.
728x90
반응형
'웹개발 > Node.js' 카테고리의 다른 글
[Node.js] 글 상세페이지 만들기 (0) | 2023.02.19 |
---|---|
[Node.js] 글 삭제 기능 만들기 (0) | 2023.02.19 |
[Node.js] DB에서 데이터를 가져와 사용하기 (0) | 2023.02.14 |
[Node.js] POST요청/ form 데이터 서버로 전송하기 (0) | 2023.02.13 |
[Node.js] nodemon 사용하기 (0) | 2023.02.13 |
댓글