Subreddit
에 각각 Post
이 있고 각각 Post
에 Comment
이 많은 Reddit을 만들고 있다고 가정합니다.Redux의 정규화 정보
subreddits: [{
title: "food"
posts: [{
id: "",
body: "..",
comments: [{
id: ".."
body: "..",
}]
..morePosts
},
title: "culture"
posts: [{
id: "",
body: "..",
comments: [{
id: ".."
body: "..",
}]
..morePosts
},
]
을하지만 돌아 오는 등 중첩 된 상태를 낙담하기 때문에 우리가 감속기로 공급하기 전에, 우리는 데이터 구조를 정상화 : 그런 다음 API 응답은 아마 다음과 같습니다.
subredditByTitle: {
food: {
id: subreddit_1,
title: "food"
posts: [post_1, post_2]
}
culture: {
id: subreddit_2,
title: "culture"
posts: [post_3, post_4]
}
}
postsById: {
post_1: {
body: ".."
comments: [comment_1, comment_2]
},
post_2: {
body: "..",
comments: [comment_3, comment_4]
}
}
commentsById: {
comment_1: {
body: ".."
},
comment_2: {
body: ".."
}
}
을하지만 MongoDB를 사용할 때 그것은 내가 subdocuments
을 사용하고 특히,이 같은 백엔드 데이터를 정상화 약간 어색한 느낌 : 그런 다음 데이터는 다음과 같이 표현 될 수있다. 관계형 DB에서는 모든 DB 테이블에 대해 조회 테이블 (예 : PostsById
)을 사용하는 것이 좋습니다. 모든 DB 수집에 대해 동일한 작업을 수행하는 것이 합리적입니까? 내 직감은 모든 것을 정상화하려고 시도하는 대신 각 문서에 대해 하나의 감속기를 사용하는 것이 더 좋을 수 있지만 최선의 방법이 무엇인지 모릅니다.
이력서에는 문서 기반 데이터를 정규화해야 할 때 redux가 많은 것을 생각하기 시작합니다. mongo를 사용하여 개발할 때 가장 좋은 점은 조인 등의 데이터 정규화 및 처리가 필요 없다는 것입니다. mongo 데이터가있는 redux를 사용하여 그렇게 나쁘다고 느낍니다. –