인프런 커뮤니티 질문&답변

현병익님의 프로필 이미지
현병익

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

Sequelize의 where 관련해서 질문이 있습니다!

해결된 질문

작성

·

119

0

Backend에 있는 posts.js 에서 만약에 현재 로그인한 유저가 like를 누르지 않은 것만 front로 보내고 싶다고 하면

where절에서 어떻게 필터링을 할 수 있을까요?  include에서 다른 테이블의 데이터를 가져오는거는 이해했는데, where에서는 어떻게 참조하는지 모르겠습니다.

답변 2

0

현병익님의 프로필 이미지
현병익
질문자

현재 로그인한 유저가 like를 누른 사람만 가져올때는 

{
          model: User// 좋아요 누른 사람
          as: "Likers",
          attributes: ["id"],
          where: { id: req.user.id },
       },

으로 해서 됐는데,

반대로 로그인한 유저가 like를 누르지 "않은" posts만 가져올때는

코드를 어떻게 써야될까요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

https://sequelize.org/v5/manual/querying.html

operator 부분 보세요.

where: { id: { [Op.ne]: req.user.id } }

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

include에서 model: User를 넣으셨을텐데 include의 model과 같은 레벨에 where을 넣으시면 됩니다.

현병익님의 프로필 이미지
현병익

작성한 질문수

질문하기