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

home2 게시판 Node.js, Express 게시판 이전글 타이틀 보이게 하기

이전글 타이틀 보이게 하기

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

    박세익
    참가자
    http://epdbio.com/board/notice/view/6
    현재 위와 같은 홈페이지 게시판을 바탕으로 node js 활용하여 만들어보고 있습니다!
    아래와 같이
    let prevResult = await db.collection('notice').find({_id : {$lt: new ObjectId(요청.params.id1)}}).skip(resultNo).limit(1).toArray();
    에 skip안에 숫자를 넣으면 잘 되는데 왜 변수로 넣으니깐 작동을 안하는지 전혀 모르겠네요 ㅠㅠ...
    
    답변 부탁드립니다 ㅠㅠ 감사합니다
     
     
    app.get('/notice-detail/:id1', async (요청, 응답) => {
       
        try {
            console.log(요청.params);
            let result = await db.collection('notice').findOne({_id : new ObjectId(요청.params.id1)});
            let resultNo = result.no - 1;
            console.log(resultNo);
            let nextResult = await db.collection('notice').find({_id : {$gt: new ObjectId(요청.params.id1)}}).limit(1).toArray();
            let prevResult = await db.collection('notice').find({_id : {$lt: new ObjectId(요청.params.id1)}}).skip(resultNo).limit(1).toArray();
           
            let nextResultTxt = null;
            if (nextResult[0] == undefined) {
                nextResultTxt = {title : ''}
            } else {
                nextResultTxt = nextResult[0];
            }
            // 예외처리 :: _id길이는 맞는데 틀릴경우
            if(result == null){
                응답.status(404).send('잘못된 URL');
            }
            
            // console.log(nextResult[0]);
            console.log(prevResult);
            // 뒤에 오브젝트에 자료전송 가능
            응답.render('board/notice-detail.ejs', { 
                글상세 : result, 
                다음글 : nextResultTxt
            });
        } catch(e) {
            console.log(e);
            응답.status(404).send('잘못된 URL');
        }
    });
    #112904

    codingapple
    키 마스터
    굳이 skip 안써도 될거같은데요 
    {no : result.no + 1} 인거 find() 하라고 코드짜면 다음게시물 쉽게 가져올 수 있을듯요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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