gpt4 book ai didi

MongoDB 查找所有子节点

转载 作者:可可西里 更新时间:2023-11-01 10:29:36 25 4
gpt4 key购买 nike

我有类别集合,其中的文档在树结构中彼此相关,如下所示的简化版本:

  {
categoryID: "ABC",
parentID: "AB"
}

{
categoryID: "ABD",
parentID: "AB"
}

{
categoryID: "ABD1",
parentID: "ABD"
}

因此生成的树将类似于:

- A
--- AA
------AAA
------AAB
------AAC
--- AB
------ABA
----------ABAA
----------ABAB
--------------ABABA
--------------ABABB
------ABB

是否可以查找/返回 AB 下的所有类别,换句话说,结果将仅包含以下类别(基于上面显示的示例)?谢谢

- ABA
- ABAA
- ABAB
- ABABA
- ABABB
- ABB

最佳答案

文档有 an entire section on representing tree structures .本质上,如果你想快速查询子树,存储 list of all ancestors for a node并使用多键索引,例如

{
categoryID: "ABD1",
parentID: "ABD",
ancestors: ["ABD", "AB", "A"] // multikey index
}

然后查询db.categories.find({"ancestors": "AB"});

关于MongoDB 查找所有子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28698157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com