inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기

좋아요 싫어요 기능 (3) 클릭시 기능들

Like 취소 부분에 질문이 있습니다.

294

작성자 없음

작성한 질문수 0

0

강사님은 

Like.findByIdAndDelete를 사용하셔서 해당 Like 도큐먼트를 지워주셨습니다.

그런데 이 경우 다수의 사람이 좋아요를 눌렀을 경우

한 사람만이라도 좋아요를 다시 눌러 취소할 경우 조건에 해당하는 도큐먼트 전체가 삭제되는 것이 아닌가요?

아래는 강사님이 작성하신 스키마와 백엔드 로직입니다.

const likeSchema = mongoose.Schema({
   userId: {
       type: Schema.Types.ObjectId,
       ref: 'User'
   },
   commentId: {
       type: Schema.Types.ObjectId,
       ref: 'Comment'
   },
   videoId: {
       type: Schema.Types.ObjectId,
       ref: 'Video'
   }

}, { timestamps: true })

router.post("/unLike", (req, res) => {

    let variable = {}
    if (req.body.videoId) {
        variable = { videoId: req.body.videoId, userId: req.body.userId }
    } else {
        variable = { commentId: req.body.commentId , userId: req.body.userId }
    }

    Like.findOneAndDelete(variable)
        .exec((err, result) => {
            if (err) return res.status(400).json({ success: false, err })
            res.status(200).json({ success: true })
        })

})

제 생각에는 해당 Like의 _id를 찾아내거나, userId와 commentId가 동시에 일치하도록 조건을 걸어주어야 하는 게 아닌가 싶습니다.

혹시 제가 잘못 알고 있는 부분이라면 지적 부탁드립니다.

mongodb react redux nodejs

답변 1

0

awt0523

끝까지 보시면 후반부에 findOneAndDelete 바꾸셨습니다

npm i하면 바로, 라이브러리 오류없이 받아지고, 구동되는 소스는 없나요?

0

52

1

ERROR in ./node_modules/antd/es/version/index.js 2:15-22

0

221

1

자료 없음

0

321

1

이미지 깨짐

0

335

1

npm run dev 동작 에러

0

304

1

npm run dev 동작 에러

0

295

1

npm run dev 동작에러납니다...

0

661

1

npm run dev 실행 오류

0

653

1

비디오 업로드, 로그인, 회원가입 504 error

0

1056

1

시작부터 오류생기시는 분들 해결법입니다.

1

467

1

오류 해결 공유

0

459

1

npm install 에러 질문드립니다.

0

1121

2

아예 몽고DB에 연결한다고만 하고 연결이 안되고 있습니다.

0

550

1

해당 오류 해결 방법 좀 알려주세요 ㅠㅠ

0

515

1

로컬스토리지에 대한 질문입니다!!

0

515

0

video가 안 나타나는 문제

0

894

1

ffmpeg 설치 후 cannot read property 'format' of undefined 500 에러 해결

0

470

0

typeError or 콘솔 500 뜨는분..

0

336

0

npm run dev 관련 오류

0

578

1

답글이 달리지않고 디비에도 저장되지않으며 새로고침이 됩니다.

0

246

0

useState 자동 생성

0

346

1

TypeError: Cannot read properties of undefined (reading 'format')

0

1246

2

userData undefined / state에 user.userData가 없습니다.

0

247

0

antd Input background color 변경

0

242

0