使用 Elixir 使用 Postgres ltree 选择直接 children

Selecting direct children with Postgres ltree using Elixir

我正在尝试 select 使用 ltree children 低于一个级别。

例如,如果我有 Car.Ford,查询将抓取任何具有 Car.Ford.Fiesta、Car.Ford.Fusion、Car.Ford.野马.

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

我现在正在使用

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

但它 returns 所有包含路径的条目。

想通了。

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

'My.Example.*{1}'

这将匹配以 My.Example

开头的路径下一级的任何内容