问题标签 [ltree]

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 回答
6020 浏览

sql - PostgreSQL ltree 查找给定标签的所有祖先(不是路径)

我有一个带有 ltree 路径列的表。在我的层次结构中,标签的路径是唯一的,这意味着每个标签都只有一个父标签。换句话说,表中没有两条以相同标签结尾的 ltree 路径。

我有一个 ltree 标签,比如说“C”。

我可以使用以下查询找到此标签的所有后代行:

这工作正常并给出正确的子树。

现在我需要实现查询来查找这个给定标签的所有祖先行。我的意思是,例如,如果表中有 3 行标签为“A”、“AB”、“ABC”,我想获取路径为“A”和“AB”的行(可能包括“ABC”本身,暂时无所谓)。

如果我知道“C”的完整路径(上例中的“ABC”),那么@>操作员的任务很容易。但是,现在我只知道“C”,我仍然想通过单个查询来完成任务。有没有办法做到这一点?

0 投票
5 回答
1779 浏览

sql - SQL:如何更新 ltree 中的值?

正如标题所示,我很难猜测如何有效地更新多行中的值。该列是用 data-type 实现的ltree。因此,应该有某种形式的特殊操作可用于此数据类型,postgresql下面是一个示例:

表的名称,比方说:product_sections包含这些值的列的名称是section_path (type: ltree)

在这里,我只想更新Browser到类似的Foo部分,这样数据就会变成这样:

提前致谢 :)

0 投票
1 回答
1460 浏览

postgresql - utf8 字符集中 Postgres Ltree 标签中的有效字符

Postgres Ltree 的文档说

标签是一系列字母数字字符和下划线(例如,在 C 语言环境中,允许使用字符 A-Za-z0-9_)。标签的长度必须小于 256 字节。

但是,它并没有说如果我们将语言环境设置为“en_US.UTF-8”,那么在 Postgres Ltree 中可以使用的有效字符是什么。那么,破折号(连字符)可以用在Ltree的标签中吗?

0 投票
1 回答
493 浏览

sql - 每级 ltree 子节点的总和

我有一个properties带有 ltree 路径和名称列的表。Ltree路径包含父节点的id,即“7968.7969.7987.8000”。每个树节点都有reports一些数值。我需要为 ltree 中的每个节点找到子节点值的总和。圆括号中的路径

报告

我需要找到类似的东西

0 投票
1 回答
1437 浏览

postgresql - 如何将 Postgres ltree 加入标签表?

使用 Postgres ltree 存储产品类别的常用方法是什么?

例如,我的列可以包含一个 ltree 路径,例如"1.2.3"where 123是可以显示给用户的类别标签表的外键:

现在,对于给定的产品,我想选择它的类别并像"Hardware > Computers > Video Cards".

0 投票
1 回答
72 浏览

postgresql - 在 postgres 中计算 ltree 的所有分支

我有一棵这样的树:

在我的数据库中,我有以下记录:

我想从路径中搜索,并获取计算该路径的任何节点的所有记录,不包括不在匹配分支中的记录,如下所示:

0 投票
0 回答
135 浏览

postgresql - postgresql嵌套选择与地图

我有以下结构:

并且需要选择所有文件夹及其路径,如下所示:

我怎样才能做到这一点?谢谢。sqlfiddle:http ://sqlfiddle.com/#!15/6b974/12

0 投票
2 回答
3683 浏览

django - 在 django 中创建模型之前如何在 postgresql 中安装扩展?

使用 django 1.8 + Postgres 9+,我有具有自定义 PG 数据类型(如 ltree)的模型。从零创建数据库失败,因为

不执行。我尝试进行空迁移,但在模型创建之后运行。在创建模型之前是否存在运行 sql 的方法?

0 投票
2 回答
2084 浏览

java - JPA Postgres 查询 ltree 路径

使用 Spring Boot 和 postgres。我在数据库中有分层数据,路径存储在 ltree 列中。我正在尝试根据路径获取特定对象,但无法查询数据库。

模型类:

存储库类:

来自控制器的调用,将路径作为称为路径的字符串变量传递:

desiredMember = familyRepository.findByPath(path);

产生以下错误:

我试图将 f 转换为文本,但无济于事。任何人都知道如何解决这个问题?

0 投票
1 回答
1031 浏览

java - Spring Data JPA + Hibernate + Postgresql LTree。是否可以通过一个查询按给定节点加载整个子树?

我正在使用 Spring Data JPA + Postgresql,并且我有实体“Category”,它实现了 Postgresql LTree 类型,如下所示:

我的问题是当我想将整个子树从给定节点加载到“叶”节点时,Hibernate 为每对父节点和子节点发出 2 个额外的选择。

我怎样才能改变这种休眠行为?