本文档描述了一种数据模型,该数据模型描述了类似树的结构,该结构以牺牲树的可变性为代价来优化发现子树的过程。
的嵌套集合图案识别在树为树中的一个往返遍历停止每个节点。应用程序访问树中的每个节点两次;首先是在初次旅行中,然后是在回程中。的嵌套集合图案存储文档中的每个树节点; 除树节点外,文档还将节点的父节点的ID,节点的初始停止点存储在left
字段中,并将其返回停止点存储在right
字段中。
考虑以下类别层次结构:
以下示例使用嵌套集对树进行建模:
您可以查询以检索节点的后代:
的嵌套集合图案提供了查找子树的快速且有效的解决方案,但是低效的用于修改树状结构。因此,此模式最适合不变的静态树。