Цель:
Подписаться на количество продуктов (из базы данных 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
}
}
}
Есть ли способ заставить эту работу работать правильно, без включения узлов в результат?