问题标签 [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 投票
1 回答
111 浏览

postgresql - 使用 ltree Postgres 插件仅返回子结构

我有以下查询,我正在使用 postgres 插件 ltree。我正在尝试做一些概念上类似于沿着你可以想象的树的 y 轴切割树的事情。

我可以通过以下查询轻松做到这一点:

但是,我想要一个不返回 Top、Top.Hobbies 和 Top.Science 的树查询,因为它们下面有节点。我理解说 yaxis=3 可以完成此操作,但是这组数据过于简化。

重要的一点是这些不是叶子。下面有结构。所以我不是在寻找可以返回叶子的东西。

这是全套:

我想看到的价值观是:

但是,再次,不使用值 3 完全匹配,因为此演示数据过于简化。

0 投票
0 回答
69 浏览

postgresql - 如何使用第一个查询的结果进行第二个查询并聚合这些结果?

我使用 postgres ltree 插件对树数据结构进行建模,有以下数据集:

在此处输入图像描述

此查询允许我在切割下方切割返回节点的树:

在此处输入图像描述

注意,其中一个节点不是叶子,我想从上面获取结果,并获取叶子并返回聚合的数据集。这是我想使用的第二个查询:

请注意,上面的“Top.Collections.Pictures.Astronomy”是从第一个查询输入的。

第二个查询返回这个集合:

在此处输入图像描述

我希望看到的组合结果是用第二个查询中的子代替换“Top.Collections.Pictures.Astronomy”

0 投票
3 回答
674 浏览

php - Laravel + PostgreSQL 长树

如何编写迁移文件以添加字段类型'ltree'(PostgreSQL)

不工作。

谢谢!

0 投票
3 回答
2476 浏览

java - 在休眠中映射 PostgreSQL LTREE 列时出错

我正在尝试在hibernate中映射postgresql ltree列,如下所示:

在实体中:

表结构:

收到以下错误:

谁能帮助如何解决这个问题?

0 投票
2 回答
2034 浏览

postgresql - 使用 Postgres ltree 收集所有叶节点

我一直在使用 Postgresltree构造来存储层次结构。现在,我想收集树中的所有叶子节点。有没有一个简单的机制来做到这一点?

我如何返回

0 投票
2 回答
581 浏览

postgresql - 在 postgresql ltree 中使用多个参数搜索

我计划实现一个使用 ltree 作为多级分类的数据库。但是,当我尝试使用路径 x 或 y 获取条目时遇到了麻烦。

使用下表,我想获得一个以 001 或 002 开头的 id。但是我似乎无法获得正确的查询。

预期结果:1,2,3,4
这有效:select id from new_table where path <@ '001' or path <@ '002'
这无效(导致语法错误):select id from ingredient where ingredient_path <@ '001|002'

这让我感到困惑,因为文档指出使用 | (或)符号是可以接受的。

我对 ltree 很陌生,希望我能得到一个很容易理解的答案。

0 投票
2 回答
708 浏览

postgresql - 使用 postgres ltree 查询对 ~ 运算符的后续支持

我有一个简单的 postgres ltree 查询

我想在 sequelize 中实现它,但是 ~ 运算符没有映射。

是否可以覆盖映射?还是我必须使用原始 sql 查询?

0 投票
2 回答
909 浏览

sql - 在 Postgresql 9.6.5 上使用 ltree 查询语法错误

我在 Postgresql 9.6.5 上的 ltree 扩展有问题

我有一个名为 category 的表,其中包含以下 DDL(我简化了一点):

创建 ltree 扩展后:

我正在尝试进行一些查询,例如:

或者

或转义列名

它给了我:

每时每刻

但是当我尝试时:

或者

它给了我正确的结果。

我想这与名称是保留关键字的事实有关。但是为什么逃避不起作用呢?此外,我尝试将列重命名为abcd之类的东西,无论如何它都会给我语法错误。

提前谢谢大家!

0 投票
1 回答
810 浏览

java - 在 JOOQ/PostgreSQL 中使用自定义类型更新字段

PostgreSQL 中有一个带有 ltree 字段的表。如何使用字符串值更新此字段?

我尝试了几种变体:

  1. val(area.getTree()).cast(field("ltree"))投掷

    /li>
  2. inline(String.format("CAST(\'%s\' AS ltree)", area.getTree()))使用多余的引号

    /li>
  3. val(field("CAST({0} AS ltree)", area.getTree()))投掷

    /li>
0 投票
1 回答
1046 浏览

postgresql - PostgreSQL 可以使用 HASH 排除约束来实现唯一性吗?

由于散列小于冗长的文本,因此在我看来,它们可能比 b 树更可取,以确保列的唯一性。

仅出于确保唯一性的目的,是否有任何理由在 PG 10 中无法执行以下操作?

我假设哈希冲突是在内部处理的。否则将毫无用处。

我将使用GiST索引来增强查询。