GraphQL跳过指令-可以用于排除项目吗?

时间:2020-08-06 11:16:19

标签: graphql asp.net-core-webapi

想象一下以下(简化的)GraphQL查询:

{
    Products {
        Name
        Code
        StockCount
    }
}

将退回(说)50种产品,并显示产品代码,描述和库存数量。

客户可能不希望退回缺货的物品,或者他们可能只对库存少于(例如)50件的物品感兴趣。

现在,如果此信息全部保存在数据库中,那么明智的做法当然是更改SQL语句的where子句以排除这些项。因此,我们必须在查询中添加参数,以便客户端可以添加一个临界值,以及他们是否想要这些值大于或小于该值的项目。

但是,让我们假设股票存放在许多不同的位置。我们必须查询所有不同的位置,然后将库存数量加在一起以获得最终值,因此,在我们真正知道答案之前,所有的“艰苦”工作都已经完成。因此,这是一个“计算”值。

我想知道的是,是否可以将查询修改为以下任何一种(似乎都不起作用,但希望能给您一个主意):

{
    Products @skip(if: StockCount < 50) {
        Name
        Code
        StockCount
    }
}

query getInStockProducts {
  allProducts
  (where: { {StockCount : {_lt: 50}}})
  {
        Name
        Code
        StockCount
  }
}

0 个答案:

没有答案
相关问题