• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Node.js, Express 게시판 글 중간번호를 삭제했을때에는 빈 글번호는 어떡하나요?

글 중간번호를 삭제했을때에는 빈 글번호는 어떡하나요?

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #71359

    이순민
    참가자
    예를 들어 1번부터 10번까지의 글이 있을 때 5번을 삭제합니다. 그럼 5를 제외한 1~10번 글이 있겠죠.
    게시판 목록화 했을 때 5번이 비어있으면 이상할 것 같습니다.
    
    그래서 총게시물개수를 먼저 체크하고 글 번호를 1~총게시물개수로 부여할려고 했는데
    새로 부여될 글 번호가 총게시물개수 + 1이라 11번이 아니라 10번을 받게 되는데 기존에 존재하는 10번 때문에 
    글 작성이 불가합니다.
    
    목록화했을때 5번이 안보이는게 맞나요? 아니면 다른방법이 있을까요?
     
    #71404

    codingapple
    키 마스터
    DB에서 게시물 10개 가져오라고 하면 빈거 빼고 10개 가져옵니다
    글삭제시 총게시물갯수를 -1 하지 맙시다
    #71462

    이순민
    참가자
    글삭제시 총게시물갯수를 -1을 하는 형태는 아니고
    홈페이지 접속시 총게시물개수를 확인하여 업데이트하는 형식입니다.
    페이지네이션 구현하다보니 그렇게 진행되었습니다.
    그래서 게시물 5번을 삭제했을때 11개에서 10개로 게시물이 줄어들어 다음 글번호가 자동으로 11번이 부여됩니다.
    어떤식으로 수정하면 글번호 꼬임이 없을까요..?
    
    
    // 홈페이지로 이동
    app.get('/', async function (요청, 응답) {
      var page = Number(요청.query.pageNum || 1);
      var perPage = Number(요청.query.perPage || 10);
      var TotalPost;
      var totalPage;
        TotalPost = await db.collection('post').estimatedDocumentCount();
        db.collection('counter').updateOne({ name: "게시물개수" }, { $set: { totalPost: TotalPost } }, function (에러, 결과) {
          // console.log('index에서 총게시물수 업데이트 완료')
          db.collection('post').find().
            skip(perPage * (page - 1)).
            limit(perPage).toArray(function (에러, 퍼페이지결과) {
              totalPage = Math.ceil(TotalPost / perPage);
              응답.render(__dirname + '/views/index.ejs', { totalPage: totalPage, posts: 퍼페이지결과, perPage: perPage })
            })
        })
    });
    //===========================
    #71510

    codingapple
    키 마스터
    estimatedDocumentCount 쓰지말고 글발행할 때 마다 직접 갯수 기록합시다 
    굳이 글번호 카운트안하고 _id 자동으로 부여되는거 써도 별문제 없습니다
    #71638

    이순민
    참가자
    게시글 삭제할때는 총게시물개수 -1을 안한다면 총게시물개수는 점점올라가고 
    실제 게시물숫자와는완전히 다른 값을 가지게 될 것 같습니다.
    
    또한 불러온 게시물만큼 페이지 번호를 1,2,3 ... 부여해야하고 페이지 번호를 totalPage라고 할때 
    var totalPage = Math.ceil(TotalPost / perPage) 의 방식으로 구하는데 정확한 총게시물개수가 필요합니다.
    그래서 estimatedDocumentCount를 쓰고자하는데 올바르지않은 방법일까요? 그렇다면 더 좋은 방법이 있을까요?
    
    혹시 "글발행할 때 마다 직접 갯수 기록합시다." 라고 말씀하신 의미가 글 발행할 때마다 estimatedDocumentCount를 사용해서
    실제 개수로 업데이트 시켜주라는 의미인가요? 현재는 글 작성하면 총게시물개수 1씩 증가 합니다
    #71659

    codingapple
    키 마스터
    숫자를 쓰고싶으면 강의처럼 글발행할 때 마다 글번호저장용 document에 기록해두는방법밖에 없습니다
    아니면 글삭제시 삭제가 아니라 삭제한척만 해도 될수도요
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠