database - 使用 Elixir 选择 Postgres ltree 的直接 child

标签 database postgresql tree elixir ecto

我正在尝试使用 ltree 选择低于单个级别的所有子项。

例如,如果我有 Car.Ford,查询将抓取具有 Car.Ford.Fiesta、Car.Ford.Fusion、Car.Ford.Mustang 等路径的任何子项。

如果可能,我如何使用 ltree 构建此查询,特别是使用 Elixir?

我现在正在使用

from c in query, where: fragment("path <@ ?", c.path)

但它会返回所有包含路径的条目。

最佳答案

想通了。

Postgres 上的文档指出 lquery 中的 {} 限制了它将匹配的标签数量,开发人员的文档阐明这实际上是为了限制要搜索的级别数。

'My.Example.*{1}'

这将匹配以 My.Example 开头的路径下一级的任何内容

关于database - 使用 Elixir 选择 Postgres ltree 的直接 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382437/

相关文章:

c# - 将 SQL Server 数据导出到 Excel 中的特定工作表

sql - 什么是 "Scalar"查询?

mysql - 将数组保存为字符串还是使用多个表?

SQL,选择至少匹配 N 列的行对

c++ - 赋值运算符重载期间类的指针成员

sql - 如何找出连接正在使用哪个数据库?

python - 我如何在 psycopg2 线程连接类中重新连接到 postgreSQL? SSL SYSCALL 错误 : EOF detected in Azure? 导致的失败

postgresql - 移动 postgresql 数据集群

c++ - 在 C++ 中转换树

haskell - haskell中树上的最大元素?