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

home2 게시판 Node.js, Express 게시판 게시판에 댓글기능 추가하기

게시판에 댓글기능 추가하기

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

    john
    참가자

    app.put('/comment', function (req, res) {

      console.log('editing id ${req.body._id}')
      let toUpdate = { _id: req.body._id };
      db.collection('post').updateOne(
        toUpdate, { $push: { comment: req.body.comment } },
          (err, results) => {
          console.log(err)
          console.log(results)
          if  (results.matchedCount === 0) {
              res.send('no permission')
            } else {
              console.log('edited');
              res.redirect('/list');
            }
          }
        );
    });

     

    console.log(results ) //

    {
      acknowledged: true,
      modifiedCount: 0,
      upsertedId: null,
      upsertedCount: 0,
      matchedCount: 0
    }

     

    구글링을 해보니 $push 를 사용하면 된다고 해서 써봤는데 업데이트가 안되네요ㅜㅜ

    어느부분이 잘못된 건지 알려주시면 감사하겠습니다

     

    #14645

    codingapple
    키 마스터

    $push는 db에 저장된 항목이 array자료일 때 array에 자료 1개 추가하는 문법입니다 

    comment라는 항목에 저장된게 array 자료가 맞나요?

     

    근데 사이즈가 커지면 댓글도 하나의 게시물처럼 다루는게 좋고 편리합니다 

    댓글 저장할 collection을 하나 만들고 거기에 모든 댓글을 집어넣습니다

    집어넣을 때 종속된 게시글의 _id 같은걸 함께 저장해두면 됩니다 

    그럼 개발도 쉬워질걸요 

    #14649

    john
    참가자

    let toSave = { _id: count + 1, writer: req.user._id, title: req.body.title, date: req.body.date, comment: [] }

    넵.. 어레이로 지정했는데도 그러네요ㅜㅜ 뭐가 문제지 ..

    다음부터는 답변주신대로 콜렉션으로 따로 분리해야겠어요

     

    #14654

    john
    참가자

    헐 이럴수가.. 까먹고 parseInt를 안했었네요 

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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