AQL 包含多个值 属性 returns 仅第一个值
AQL include for multi value property returns only first value
包含多值 属性 字段的所有值的正确 AQL 格式是什么? @<prop name>
和 properties.*
似乎都不起作用。
当 运行 执行 AQL 查询并包含包含多个值的 属性 字段时,结果包含第一个值而不是包含所有值的列表
items.find(...).include("*","@distro")
目前,我运行一个查询来生成工件列表,然后遍历列表运行查询每个工件属性
f'/api/storage/{artifact.repo}/{artifact.path}/{artifact.name}?properties'
结果
...properties {'key': 'distro', 'value': 'Ubuntu'}
想要的结果
...properties {'key': 'distro', 'value': ['Ubuntu', 'CentOS',...]}
我收到 jfrog 支持的回复,问题似乎是使用“@属性name”允许将潜在的多值 属性 折叠成单个值,这阻止收集所有属性。
更有效的方法是
items.find(...).include("property")
这会导致在 json 负载中返回所有属性,因为它包含 属性 域 ,其中包含所有属性。
此外,通过不使用 @,查询不会将值列表中的属性折叠为单个值。因此,如果 build_number 是 属性,它会变成 ['25']
而不是 25
。
请求 属性 域时,请务必将每个 属性 视为一个列表。
包含多值 属性 字段的所有值的正确 AQL 格式是什么? @<prop name>
和 properties.*
似乎都不起作用。
当 运行 执行 AQL 查询并包含包含多个值的 属性 字段时,结果包含第一个值而不是包含所有值的列表
items.find(...).include("*","@distro")
目前,我运行一个查询来生成工件列表,然后遍历列表运行查询每个工件属性
f'/api/storage/{artifact.repo}/{artifact.path}/{artifact.name}?properties'
结果
...properties {'key': 'distro', 'value': 'Ubuntu'}
想要的结果
...properties {'key': 'distro', 'value': ['Ubuntu', 'CentOS',...]}
我收到 jfrog 支持的回复,问题似乎是使用“@属性name”允许将潜在的多值 属性 折叠成单个值,这阻止收集所有属性。
更有效的方法是
items.find(...).include("property")
这会导致在 json 负载中返回所有属性,因为它包含 属性 域 ,其中包含所有属性。
此外,通过不使用 @,查询不会将值列表中的属性折叠为单个值。因此,如果 build_number 是 属性,它会变成 ['25']
而不是 25
。
请求 属性 域时,请务必将每个 属性 视为一个列表。