Подписка PostGraphile на totalCount с фильтром игнорирует декременты - PullRequest
1 голос
/ 27 февраля 2020

Цель:

Подписаться на количество продуктов (из базы данных Postgres), запланированных на сегодня с состоянием = NEW

Код:

subscription getTotalNewProducts {
  orderProducts(
      condition: {state: "NEW"}, 
      filter: {scheduledDate: {greaterThanOrEqualTo: "2020-02-27", lessThan: "2020-02-28"}}) 
    {
      totalCount
    }
}

Проблема:

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
        }
      }
}

Есть ли способ заставить эту работу работать правильно, без включения узлов в результат?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...