【发布时间】:2022-01-25 19:50:32
【问题描述】:
我需要从支持 GraphQL 的数据库中获取一些项目(无法控制其架构)并按照调用的确切顺序输出它们。
例如,如果数据库以相应的顺序保存项目 1,2,3,我需要将它们作为 3,1,2。
查询:
{items(filter: {id: {_in: ["3","1","2"] } } ) {data}}
实际结果:
{"data": {"items": [{"data": "data-from-1"},{"data": "data-from-2"},{"data": "data-from-3"}]}}
预期结果:
{"data": {"items": [{"data": "data-from-3"},{"data": "data-from-1"},{"data": "data-from-1"}]}}
所以我想我正在寻找的是一个与其他运算符相关的“元”运算符,而不是实际查询 - 类似于:
sort:["_in"] 或 orderby:{operator:"_in"}
...但我没有设法找出这样的事情是否存在。
那么一般情况下还是可能在某些 GraphQL 风格中是可能的?还是我唯一的选择是使用别名预先构建查询并这样做:
{
_3: items(filter:{id: { _eq: "3" }}){data}
_1: items(filter:{id: { _eq: "1" }}){data}
_2: items(filter:{id: { _eq: "2" }}){data}
}
【问题讨论】:
标签: sorting graphql operators sql-order-by