본문 바로가기
코딩(개발)/Node.js

고유키 생성

by 플랜데버 2022. 6. 20.

# 몽고디비는 auto increment 지원 안됨. primary key 지원안됨.. 는것 같다. 

 

유일값을 지정하기 위해 별도 Collection을 생성해서 작업한다. Collection이 관계형DB의 table 비슷한 역할인듯

 

# 몽고디비 사이트에 들어가서 새로운 Collection을 생성하고 게시물을 등록할때 처리

    app.post('/add', function(request , response){

        //총게시물갯수 구하기
        db.collection('counter').findOne({name : '게시물갯수'}, function(err, result){

            //고유값을 구하고
            let totalcount = result.totalPost;

            //저장
            db.collection('post').insertOne({ _id:totalcount+1, title : request.body.title , date : request.body.date }, function(error,result){
                
                //countner라는 콜렉션에 있는 totalPost라는 항목도 1 증가 시켜서 db에 업데이트 시켜야 함
                db.collection('counter').updateOne({name:'게시물갯수'},{$inc : {totalPost : 1}},function(err,result){
                    if(err){
                        return console.log(err);
                    }
                });
            });
        });

        response.send('전송완료');  
});

 

//db.collection('counter').updateOne({어떤데이터 수정할지},{수정할 값},function(){에러처리등... 생략해도 됨});

댓글