1

目标:

订阅今天安排的产品数量(来自 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
        }
      }
}

有没有办法在不包括结果中的节点的情况下使其正常工作?

4

0 回答 0