mongodb에 중첩 된 카테고리가 있습니다. cat_id_1
가 최상위 범주가각 하위 카테고리의 모든 게시물을 가져 오는 가장 좋은 방법
{
"id": "cat_id_3",
"name": "category name",
"parents": [cat_id_1, cat_id_2]
}
이 cat_id_2
다음 수준 등
뿐만 아니라 게시물의 컬렉션이 있습니다 : 각 카테고리의 문서는 다음과 같이 보인다. 게시물은 모든 카테고리의 카테고리에 속할 수 있습니다. 지금은 게시물 문서에이 특정 게시물이 속한 카테고리 ID 만 저장합니다.
이 문제는 cat_id_1
아래에 게시 된 모든 게시물을 가져와야하며이 하위 범주 인이 예에서는 cat_id_2
과 cat_id_3
인 모든 게시물을 가져와야합니다. 또는 cat_id_2
아래에 있으며 하위 카테고리가 모두 cat_id_3
입니다.
몇 가지 옵션을 고려 중이며 숙련 된 조언이 필요합니다.
1) 범주의 ID를 포함하는 parents
배열을 가진 모든 범주 ID를 가져온 다음 id 필드가 반환 된 ID 배열에있는 모든 게시물을 가져올 수 있습니다.
2) 게시물 모음 내에 모든 상위 카테고리 ID가 포함되도록 구조를 변경할 수 있습니다. 그러면 추가 쿼리가 필요 없지만 나중에 카테고리 구조를 변경 (예 : 카테고리 추가/삭제)하기가 어려울 수 있습니다.
그럼이 경우 가장 좋은 방법은 무엇입니까?
설명하는 방식에 따라 순환 의존성이있을 수 있습니다. – Pio