인프런 커뮤니티 질문&답변
limit에 대해 질문드립니다.
작성
·
156
0
const profilePosts = await User.findOne({
where: { id: userId },
attributes: [],
include: [
{
model: Post,
include: [
{
model: User,
attributes: ["id", "nickname", "department", "avatar"],
},
{
model: User,
as: "PostLikeUsers",
attributes: ["id"],
},
{
model: Comment,
attributes: ["id"],
},
],
},
],
});include 안에서 Post model에 limit을 두고 싶습니다.
예를 들어, Post model에 16개의 게시글이 저장되어 있으면 5개만 불러오고 싶습니다.
어떻게 하면 될까요?
시도했던 방법
1.
include: [
{
model: Post,
limit: 5,
subQuery: false,
include: [
{
model: User,
attributes: ["id", "nickname", "department", "avatar"],
},
{
model: User,
as: "PostLikeUsers",
attributes: ["id"],
},
{
model: Comment,
attributes: ["id"],
},
],
},
],
2.
include: [
{
model: Post,
attributes: ["id", "UserId"],
separate: true,
limit: 5,
include: [
{
model: User,
attributes: ["id", "nickname", "department", "avatar"],
},
{
model: User,
as: "PostLikeUsers",
attributes: ["id"],
},
{
model: Comment,
attributes: ["id"],
},
],
},
],





User가 작성한 Post 게시글을 가져오는 것이라 User model에서는 Post model의 정보를 알 수 없습니다. 어떻게 나눠서 합치면 되는지 조언 부탁드립니다.
User
Post