目标:
订阅今天安排的产品数量(来自 Postgres 数据库),state=NEW
编码:
subscription getTotalNewProducts {
orderProducts(
condition: {state: "NEW"},
filter: {scheduledDate: {greaterThanOrEqualTo: "2020-02-27", lessThan: "2020-02-28"}})
{
totalCount
}
}
问题:
每当我插入或更新产品时,总计数就会增加,以使其符合条件。但是,当我删除或更新产品以不再符合条件时,它永远不会减少。该问题出现在我的应用程序和 GraphiQL 中,因此我将其范围缩小到上面的代码。
我使用 postgraphile-plugin-connection-filter 作为过滤器,但删除它并没有改变问题。
到目前为止我发现了什么:
在我的结果中添加节点的解决方法。当我添加具有一些任意属性的节点时,订阅行为正确。像这样:
subscription getTotalNewProducts {
orderProducts(
condition: {state: "NEW"},
filter: {scheduledDate: {greaterThanOrEqualTo: "2020-02-27", lessThan: "2020-02-28"}})
{
totalCount
nodes {
productId
}
}
}
有没有办法在不包括结果中的节点的情况下使其正常工作?