GraphQL "not equal" 运算符?
GraphQL "not equal" operator?
我有一个 GraphQl API 用于列出一堆项目,我可以完美地查询它等等。
但现在我想查询该列表的一个子集,其中一个 属性 可以有 'all possible values except one specific one'.
比如我想查询这样的东西:
{
items(status: !"Unwanted"){
id
}
}
那个感叹号显然不起作用,但它说明了我所追求的。
在网上找不到任何关于此的信息。
有人知道这样做的方法吗?
我真的很讨厌必须枚举所有可能的想要的值,而不是仅仅排除一个不需要的值。这将是非常糟糕的设计并且不可扩展。
谢谢。
如果您可以定义架构(实现服务器),那么您可以向 items
字段添加第二个参数,例如 statusExcept
。然后在 resolve 方法中检查是否设置了 status 或 statusExcept 并根据它交付项目。
如果服务器 API 已修复,除了获取所有内容并在客户端上进行过滤外,您无能为力。
使用ne
:
{
items(filter: {status: {ne: "Unwanted"}}){
id
}
}
使用 GraphQL 版本 4.3.2
语法已更改,您需要使用 notIn
{
items(filter: {status: {notIn: "Unwanted"}}){
id
}
}
我有一个 GraphQl API 用于列出一堆项目,我可以完美地查询它等等。 但现在我想查询该列表的一个子集,其中一个 属性 可以有 'all possible values except one specific one'.
比如我想查询这样的东西:
{
items(status: !"Unwanted"){
id
}
}
那个感叹号显然不起作用,但它说明了我所追求的。 在网上找不到任何关于此的信息。
有人知道这样做的方法吗? 我真的很讨厌必须枚举所有可能的想要的值,而不是仅仅排除一个不需要的值。这将是非常糟糕的设计并且不可扩展。
谢谢。
如果您可以定义架构(实现服务器),那么您可以向 items
字段添加第二个参数,例如 statusExcept
。然后在 resolve 方法中检查是否设置了 status 或 statusExcept 并根据它交付项目。
如果服务器 API 已修复,除了获取所有内容并在客户端上进行过滤外,您无能为力。
使用ne
:
{
items(filter: {status: {ne: "Unwanted"}}){
id
}
}
使用 GraphQL 版本 4.3.2
语法已更改,您需要使用 notIn
{
items(filter: {status: {notIn: "Unwanted"}}){
id
}
}