【发布时间】:2014-05-11 07:51:32
【问题描述】:
我在 mongodb 中有嵌套类别。每个类别的文档如下所示:
{
"id": "cat_id_3",
"name": "category name",
"parents": [cat_id_1, cat_id_2]
}
其中cat_id_1 是顶级类别,cat_id_2 是下一级等。
还有一个帖子集合。帖子可以属于任何级别的类别。现在我在帖子文档中只存储一个类别 ID,即该帖子所属的类别 ID。
问题在于我需要获取在cat_id_1 及其所有子类别下发布的所有帖子,在此示例中为cat_id_2 和cat_id_3。或在cat_id_2 及其所有子类别下,即cat_id_3。
我正在考虑几种选择,需要一些有经验的建议。
1)我可以获取所有具有parents数组的类别id,其中包含该类别的id,然后获取id字段在返回的id数组中的所有帖子。
2) 我可以更改结构以包含帖子集合中的所有父类别 ID。这将避免额外查询的需要,但以后很难更改类别结构(例如添加/删除类别)。
那么在这种情况下,最好的方法是什么?
【问题讨论】:
-
你描述它的方式可能有循环依赖。
标签: mongodb