问题标签 [nested-sets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
496 浏览

mysql - 将邻接表模型和嵌套集模型结合起来是否被认为是糟糕的设计?

我正在努力在 MySQL 中构建树结构,并一直在尝试不同的数据表示方式。但是,无论我怎么切,都有不足之处。

嵌套集模型允许我轻松选择树的整个分支——这是我需要做的。然而,选择节点的直接子节点并不容易。

邻接表模型非常适合获取直系孩子,但不适用于返回树的整个分支。

我想知道,构建这样的树结构有什么特别不好的地方:

所以我拥有的是邻接表模型和嵌套集模型都在同一个表中。这样我就可以使用/或,这取决于我选择的情况。

人们的想法是什么?这是允许的吗?(花生酱和巧克力终于在一起了?)或者这被认为是糟糕的设计?

提前致谢,

0 投票
4 回答
1509 浏览

sql - 如何在同一个查询中选择直系子代和祖先

我正在使用嵌套集模型表示的 MySQL 中的树结构。

我希望你们中的一些 sql 专家可以帮助我构建一个 SELECT 查询。

我希望能够使用 LIKE 匹配一组节点。对于每个匹配的节点,我还需要该节点的祖先的逗号分隔列表,以及该节点的直接子节点的逗号分隔列表。

我不确定从哪里开始 - 如果这样的事情甚至在单个查询中是可能的。(目前我正在通过循环内的查询来完成此操作。)我希望的是一个可能看起来像这样的结果集......

从字符串“qu”开始并查询表“Body”我得到......

任何关于如何在不循环查询的情况下完成此操作的建议将不胜感激。

0 投票
1 回答
705 浏览

sql - 子树 SQL 嵌套集的产品计数

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

在“嵌套集中的聚合函数”标题下

我正在尝试制定一个类似于给定示例的查询,除了我希望它在子树级别上工作,所以如果我查询 MP3 播放器,我会得到一个结果集:

0 投票
2 回答
763 浏览

php - PHP 学说 ORM 嵌套集

虽然我在这里阅读了手册:http: //www.doctrine-project.org/documentation/manual/1_2/hu/hierarchical-data 我找不到将节点从叶子移动到根节点的方法. 有什么线索吗?这个问题对于插入一个新节点来说是微不足道的......但是更新一个节点呢?

0 投票
0 回答
1962 浏览

c# - 有人可以从 C#/LINQ 的角度描述嵌套集模型吗?

我知道嵌套集模型与 C# 语言或 LINQ 不直接相关……这是我用来开发 Web 应用程序的。

对于分层数据(在我的例子中是带有子类别的类别),我目前正在使用类似于邻接列表模型的东西。目前,我只有 2 级类别,但我想更进一步,使用嵌套集模型允许 n 级类别。

我不太清楚如何在 C# 上下文中使用它。这是我正在阅读的关于嵌套集模型的文章。虽然这篇文章消除了我的一些困惑,但我仍然有一个很大的?? 在我脑海中:

- 插入、更新或删除类别是否繁琐?看起来左右数字需要重新编号......对于以下场景,LINQ 查询会是什么样子?

  • 删除一个子节点(重新编号所有节点的左/右值)
  • 删除一个父节点(你如何处理孤儿?)
  • 将子节点移动到不同的父节点(再次重新编号)

如果我的理解是正确的,那么子节点的左/右值总是在父节点的左/右值之间,对吗?

似乎很容易,如果只有类别是静态的……很可能我需要花更多的时间来理解这个概念。

任何帮助是极大的赞赏!

0 投票
1 回答
1096 浏览

doctrine - 向 Doctrine Nested Set Trees 添加和排序的最佳方法是什么?

在 Doctrine Nested Sets 中添加秩序感的最佳方式是什么?

该文档包含几个示例,说明如何获取特定节点的所有子节点

但我怎么能例如:

  • 将第四个兄弟的位置更改为第二个位置
  • 只得到第二个兄弟姐妹
  • 在第二个和第三个孩子之间添加一个兄弟姐妹等等......

我是否必须手动向模型添加和排序列才能执行这些操作?

0 投票
2 回答
702 浏览

mysql - 带有外部表的 MySQL 嵌套集层次结构

我在 MySQL 表中使用嵌套集来描述类别层次结构,并使用附加表来描述产品。

类别表;

产品表;

如何检索包含所有父类别的产品的完整路径?IE:

RootCategory > SubCategory 1 > SubCategory 2 > ... > SubCategory n > Product

例如,假设我想列出所有产品SubCategory1及其子类别,并且每个给定Product我都想要该产品的完整树路径 - 这可能吗?

这是据我所知 - 但结构不太正确......

0 投票
4 回答
2070 浏览

ruby-on-rails - Ruby on Rails 中的嵌套路由

我的模型类是:

是否有可能有这样的递归路线: /root_category_slug/child_category_slug/child_of_a_child_category_slug......等等

感谢您的任何帮助 :)

0 投票
1 回答
76 浏览

sql - 向这个查询引入一个连接,可能吗?

我正在尝试为此查询引入联接:

通过添加

在 FROM 语句之后...

但是当我介绍它时,它以“'on 子句'中的未知列'n.entry_id'”失败

甚至可以向此查询添加连接吗?

谁能帮忙,谢谢!

0 投票
5 回答
4567 浏览

php - 如何使用 MySQL 和 PHP 中的嵌套集获取结构化结果?

深度没有限制。

如何获得结构化的分支甚至整个树?

定义来自这里:Managing Hierarchical Data in MySQL