问题标签 [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.
sql - PostgreSQL ltree 查找给定标签的所有祖先(不是路径)
我有一个带有 ltree 路径列的表。在我的层次结构中,标签的路径是唯一的,这意味着每个标签都只有一个父标签。换句话说,表中没有两条以相同标签结尾的 ltree 路径。
我有一个 ltree 标签,比如说“C”。
我可以使用以下查询找到此标签的所有后代行:
这工作正常并给出正确的子树。
现在我需要实现查询来查找这个给定标签的所有祖先行。我的意思是,例如,如果表中有 3 行标签为“A”、“AB”、“ABC”,我想获取路径为“A”和“AB”的行(可能包括“ABC”本身,暂时无所谓)。
如果我知道“C”的完整路径(上例中的“ABC”),那么@>
操作员的任务很容易。但是,现在我只知道“C”,我仍然想通过单个查询来完成任务。有没有办法做到这一点?
sql - SQL:如何更新 ltree 中的值?
正如标题所示,我很难猜测如何有效地更新多行中的值。该列是用 data-type 实现的ltree
。因此,应该有某种形式的特殊操作可用于此数据类型,postgresql
下面是一个示例:
表的名称,比方说:product_sections
包含这些值的列的名称是section_path (type: ltree)
在这里,我只想更新Browser
到类似的Foo
部分,这样数据就会变成这样:
提前致谢 :)
postgresql - utf8 字符集中 Postgres Ltree 标签中的有效字符
Postgres Ltree 的文档说
标签是一系列字母数字字符和下划线(例如,在 C 语言环境中,允许使用字符 A-Za-z0-9_)。标签的长度必须小于 256 字节。
但是,它并没有说如果我们将语言环境设置为“en_US.UTF-8”,那么在 Postgres Ltree 中可以使用的有效字符是什么。那么,破折号(连字符)可以用在Ltree的标签中吗?
sql - 每级 ltree 子节点的总和
我有一个properties
带有 ltree 路径和名称列的表。Ltree路径包含父节点的id,即“7968.7969.7987.8000”。每个树节点都有reports
一些数值。我需要为 ltree 中的每个节点找到子节点值的总和。圆括号中的路径
报告
我需要找到类似的东西
postgresql - 如何将 Postgres ltree 加入标签表?
使用 Postgres ltree 存储产品类别的常用方法是什么?
例如,我的列可以包含一个 ltree 路径,例如"1.2.3"
where 1
、2
和3
是可以显示给用户的类别标签表的外键:
现在,对于给定的产品,我想选择它的类别并像"Hardware > Computers > Video Cards"
.
postgresql - 在 postgres 中计算 ltree 的所有分支
我有一棵这样的树:
在我的数据库中,我有以下记录:
我想从路径中搜索,并获取计算该路径的任何节点的所有记录,不包括不在匹配分支中的记录,如下所示:
django - 在 django 中创建模型之前如何在 postgresql 中安装扩展?
使用 django 1.8 + Postgres 9+,我有具有自定义 PG 数据类型(如 ltree)的模型。从零创建数据库失败,因为
不执行。我尝试进行空迁移,但在模型创建之后运行。在创建模型之前是否存在运行 sql 的方法?
java - JPA Postgres 查询 ltree 路径
使用 Spring Boot 和 postgres。我在数据库中有分层数据,路径存储在 ltree 列中。我正在尝试根据路径获取特定对象,但无法查询数据库。
模型类:
存储库类:
来自控制器的调用,将路径作为称为路径的字符串变量传递:
desiredMember = familyRepository.findByPath(path);
产生以下错误:
我试图将 f 转换为文本,但无济于事。任何人都知道如何解决这个问题?
java - Spring Data JPA + Hibernate + Postgresql LTree。是否可以通过一个查询按给定节点加载整个子树?
我正在使用 Spring Data JPA + Postgresql,并且我有实体“Category”,它实现了 Postgresql LTree 类型,如下所示:
我的问题是当我想将整个子树从给定节点加载到“叶”节点时,Hibernate 为每对父节点和子节点发出 2 个额外的选择。
我怎样才能改变这种休眠行为?