강의

멘토링

커뮤니티

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

이룸님의 프로필 이미지
이룸

작성한 질문수

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

게시글 좋아요

혹시 include한 model은 limit 설정은 힘들까요?

작성

·

109

0

안녕하세요. 제로초님

혹시 router에서 include한 model은 limit 설정은 힘든가요?

const user = await User.findOne({
    where: { id: req.user.id } 
});
const fullUser = await User.findOne({
    where: { id: user.id },
    attributes: {
        exclude: ['password'],
    },
    include: [{
        model: Image,
    }],
    order: [
        ['createdAt', 'DESC'],
        [Image, 'createdAt', 'DESC']
    ],
});
res.status(200).json(fullUser);

추가 기능 넣으려고 합니다.
유저 프로필 이미지를 구현하는 라우터인데요.

구현은 되는데 섬네일 등록 시 그 유저의 해당 섬네일이 모두
응답으로 넘어오더라구요. (전에 등록했었던 섬네일 이미지 포함)

그래서 제일 하단에 order로 최근 등록된 섬네일을 배열 0번째로받아서 프론트에서 섬네일 이미지 수정되어보이게 했습니다.

저럴 필요없이 최근 등록된 섬네일 이미지만 limit 1을 하면
좋을 것 같은데 구글링해서 order 방법은 찾았는데 limit은 자료가 안보여서 여쭤봅니다!

답변 1

1

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

include 안에 limit: 1 넣으시면 됩니다. 다만 안 되는 경우는 쿼리를 한 번 더 날리는 것도 고려해보셔야 합니다.

이룸님의 프로필 이미지
이룸
질문자

했었는데 에러가 발생해서요... 쿼리를 날린다는게쿼리문법으로 말씀하시는건가요?

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

Image.findOne 이런 식으로 이미지 모델에 대해서 쿼리를 한 번 더 날리는 것입니다.

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

근본적으로는 SQL을 분석할 수 있어야 시퀄라이즈 쿼리도 작성할 수 있습니다.

이룸님의 프로필 이미지
이룸
질문자

무슨말씀인지 알겠습니다. 늦은시간에 답변주서서 감사드립니다. 제로초님!

이룸님의 프로필 이미지
이룸

작성한 질문수

질문하기