想象一下以下(简化的)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
}
}