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

home2 게시판 Node.js, Express 게시판 세부페이지 설정 수업 중 BSONError

세부페이지 설정 수업 중 BSONError

  • 이 주제에는 1개 답변, 2명 참여가 있으며 codingapple11 월 전에 전에 마지막으로 업데이트했습니다.
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #129593

    K
    참가자
    app.get('/detail/:id', async (요청, 응답)=>{ // detail/: 쓰면 : 자리에 아무 문자나 써도 ㄱㅊ
      // console.log(요청.params);
      
      try{
        let result = await db.collection('post').findOne({_id: new ObjectId(요청.params.id)});
        // console.log(result);
        
        if(result===null){
          응답.status(400).send('이상한 url 입력함');
          return;
        } else {
          응답.render('detail.ejs', {글: result}); 
          //같은페이지를 보내줄 수는 없으므로 페이지 내용을 따로 설정!
        }
      
      } catch(e) {
        console.log(e);
        응답.status(400).send('이상한 url 입력함'); //400: 유저문제, 500: 서버 문제
        return; 
      };
     
    });
    
    수업을 듣고 나서 이것저것 찾아보며 이렇게 코드를 짰고, 사이트는 잘 동작합니다.
    다만 
    BSONError: input must be a 24 character hex string, 12 byte Uint8Array, or an integer at new ObjectId 
    이런 경고문이 링크(제목으로 세부페이지 접속하는 링크) 접속 시마다 계속 발생하고 있습니다.
    아이디를 확인해보면 DB의 아이디와 동일하고 형식도 맞는데 이런 문제가 발생하는 이유가 궁금합니다..
    #129600

    codingapple
    키 마스터
    link태그 main.css 파일 경로를 /main.css로 바꿔봅시다
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 호 / 개인정보관리자 : 박종흠