DB에 업데이트 할때 오퍼레이터를 사용해야 한다고 한다.
operator의 종류
$set (변경) - 바꿔주세요
$inc (증가) - 증가시켜주세요
$min (기존값보다 적을 때만 변경)
$rename (Key값 이름 변경)
db.collection('counter').updateOne({name:'게시물갯수'}, { $inc : {totalPost:1} });
카운터 라는 컬렉션에서 name이 게시물갯수인 문서의 totalpost를 1 증가시켜주세요.
DB에 업로드 해보자
//server.js
app.post('/add', function(req, res){
res.send('전송완료');
var title = req.body.title;
var date = req.body.date;
db.collection('counter').findOne({name:'게시물갯수'},function(error, res){
var totalcount = res.totalPost;
db.collection('post').insertOne( {_id : totalcount + 1, 제목 : title, 날짜: date} , function(error, res){
console.log('저장완료');
db.collection('counter').updateOne({name:'게시물갯수'}, { $inc : {totalPost:1} }, function(err, res){
if(err){return console.log(err)}
});
});
});
});
/add 라는 경로로 post 요청을 하면
'전송완료' 라고 화면에 띄워주고
'counter'라는 컬렉션에서 name이 게시물갯수인 문서의 totalPost 값을 totalcount라고 정해놓고
'post'라는 컬렉션에 _id는 totalcount+1 / 제목은 네임이 title인 인풋에 입력한 값 / 날짜는 네임이 date인 인풋에 입력한 값을 한개 인서트(추가) 할거야
이상 없이 추가가 되면 콘솔에 저장완료 라고 남겨주고
'counter'라는 컬렉션에도 업데이트 한개 할건데 네임이 게시물갯수인 문서의 totalPost를 1 증가 시킬거임($inc)
만약 에러가 났다면 에러 내용을 콘솔에 찍어줘라
'WEB' 카테고리의 다른 글
Node.js로 웹서비스 만들기 12일차 (0) | 2023.02.16 |
---|---|
Node.js로 웹서비스 만들기 11일차 (0) | 2023.02.15 |
Node.js로 웹서비스 만들기 9일차 (0) | 2023.02.13 |
Node.js로 웹서비스 만들기 8일차 (0) | 2023.02.10 |
Node.js로 웹서비스 만들기 7일차 (0) | 2023.02.08 |